(hash)哈希表命令 hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。 每个 hash 可以存储 232 - 1 键值对(40多亿)
redis使用跳表不用B+数的原因是:redis是内存数据库,而B+树纯粹是为了mysql这种IO数据库准备的。B+树的每个节点的数量都是一个mysql分区页的大小(阿里面试) 还有个几个姊妹篇:介绍mysql的B+索引原理 参考:一步步分析为什么B+树适合作为索引的结构 以及索引原理 (阿里面试) 参考:kafka如何实现高并发存储-如何找到一条需要消费的数据(阿里) 参考:二分查找法:各种排序算法的时间复杂度和空间复杂度(阿里) 关于mysql 存储引擎 介...
通用命令:keys,dbsize, exists key, del key [key...], expire key seconds, type key 因为keys要遍历数据库,速度慢,一般不在生产环境中使用
(string)字符串命令,一个键最大能存512m
问题:Redis中哈希对象有两种编码方式,分别是ziplist、hashtable方式。哈希对象,总得体现哈希算法,使得基本操作达到O(1)的效率。hashtable编码方式使用字典,也即是Java中hashMap的方式,这个我可以理解。但是,ziplist方式所有元素都是紧挨的,它是怎么实现hash,并使得查询等操作有O(1)的时间效率的呢?让我们从方法调用开始分析。我们都知道,获取哈希对象中某个元素的命令是“HGET”,当哈希对象的编码方式是ziplist时,它的...