众所周知,索引是关系型数据库中给数据库表中一列或多列的值排序后的存储结构,SQL的主流索引结构有B+树以及Hash结构,聚集索引以及非聚集索引用的是B+树索引。这篇文章会总结SQL Server以及MySQL的InnoDB和MyISAM两种SQL的索引。 SQL Sever索引类型有:唯一索引,主键 ...
分类:
其他好文 时间:
2019-11-23 19:43:59
阅读次数:
70
Session服务器之Redis Redis与Memcached的区别内存利用率:使用简单的key value (键值对)存储的话,Mermcached 的内存利用率更高,而如果Redis采用hash结构来做key-value存储,由于其组合式的压缩,其内存利用率会高于Memcached.。性能对比 ...
分类:
其他好文 时间:
2019-09-25 17:23:56
阅读次数:
96
Object.hasCode()默认使用对象的地址计算散列码。 Object.equals()默认比较对象地址。 一、散列与散列码 Hash结构容器散列原理(大致的原理,没有必要较真) 数组保存ArrayList的引用,散列码就是数组的下标值。存储元素时计算散列码,找到元素所属List,用该对象eq ...
分类:
其他好文 时间:
2019-09-20 21:26:31
阅读次数:
92
底层:字典 字典是redis整个映射的基础,hash结构依赖字典,zset中member到score的映射也是通过字典。set的底层也是字典,只不过value是null。 一个字典内部实际包含两个hashtable,因为扩容缩容需要渐进式hash迁移。hashtable是由数组加链表组成。 渐进式h ...
分类:
其他好文 时间:
2019-09-15 10:32:35
阅读次数:
90
SHELL脚本--shell数组基础?数组和变量的区别:变量在内存中占用的空间是离散的,数组在内粗中开辟一段连续的大内存空间,随后数组中的每个元素都放入数组内存中。数组元素使用index标识。?bash里有两种数组普通数组和关联数组。普通数组只能使用整数类形数值作为数组索引,关联数组可以使用字符串作为索引。关联数组的另外三种称呼:字典(dict),hash结构和映射(map),是一种key和value
分类:
编程语言 时间:
2019-08-27 15:37:34
阅读次数:
92
题目链接 "142. 环形链表 II" 本题的解法主要是两种,都是在141题判断是否有环的基础上进行的 方法1:hash法 1. 遍历链表,所有节点都放在hash中 2. 如果一个节点已经在hash中存在,说明该节点就是环的连接点 本方法时间复杂度为O(n),因为用到一个hash结构,所以空间复杂度 ...
分类:
编程语言 时间:
2019-08-22 01:10:08
阅读次数:
92
Redis中提供了原子性命令SETEX或SET来写入STRING类型数据并设置Key的过期时间: 但对于HASH结构则没有这样的命令,只能先写入数据然后设置过期时间: 这样就带了一个问题:HSET命令执行成功而EXPIRE命令执行失败(如命令未能成功发送到Redis服务器),那么数据将不会过期。针对 ...
分类:
其他好文 时间:
2019-07-19 23:53:26
阅读次数:
240
1、 hash不适用的场景需要设置键过期功能的key:Redis的key的过期功能只能对键操作,而Hash结构不能单独对某一个filed设置过期功能。 注意: message是key Field,如 id不是key 2、redis中的sortset:Redis 有序集合和集合一样也是string类型 ...
分类:
其他好文 时间:
2019-07-13 20:13:48
阅读次数:
94
分布式缓存 1 Redis和Memcached有什么区别? redis支持服务端的数据操作,Memcached需要将数据取回到客户端修改后再set回去 redis拥有更丰富的数据结构与操作api 使用简单的key-value存储的话,Memcached的内存利用率更高,但是如果使用hash结构的话, ...
分类:
其他好文 时间:
2019-07-12 12:56:53
阅读次数:
113
1.什么是hash表? 答:简单回答散列表,运算在hash结构散列(分散)存放。 2.如何散列排布,如果均匀排布? 答:取余运算 3.Java中如何实现? 答:hash&(h-1) 4.为什么hash&(h-1)=等价于hash%h java的h(表长)一定是2的指数次幂,2的指数次幂2n 2n的结 ...
分类:
编程语言 时间:
2019-05-24 10:51:52
阅读次数:
222