
reidis底层
淘气的高老板
污,孤傲,高冷,薄情,悲天悯人的高老板
展开
-
Redis内部数据结构总结(1)sds和robj
SDSsds是redis中被广泛使用的字符串结构,不过redis的底层是先一层robj,再细化为sds或者long①sds的全称是simple dynamic string,它可动态扩展内存。sds表示的字符串内容可以修改和追加。②sds是二进制安全的,sds能存储任意二进制数据,而不仅仅是打印字符串。③与传统的c语言字符串兼容。sds的类型定义是一个字符数组和一个header原创 2016-11-04 17:04:15 · 1599 阅读 · 0 评论 -
Redis内部数据结构总结(3)ziplist
redis对外的数据结构hash的底层是ziplist或者dict。 ziplist是一个经过特殊编码的双向链表,其设计目的就是为了提高存储效率。ziplist可以用于存储字符串或正数,其中整数是按真正的二进制表示进行编码的,而不是编码成字符串序列。 ziplist提高了存储效率,是内存紧缩的列表,多个数据在一起的连续空间,不擅长修改,在两端pop,push快。原创 2016-11-04 11:22:45 · 3594 阅读 · 0 评论 -
Redis内部数据结构总结(4)quicklist
redis对外的数据结构类型list的底层是quicklistlist支持的操作有O(1)时间复杂度的lpush:在左侧(即列表头部)插入lpop:在左侧(即列表头部)删除rpush:在右侧(即列表尾部)插入rpop:在右侧(即列表尾部)删除。。。O(N)复杂度的lindex:取某个位置的元素linsert:在某个元素前后插入。。。一个有序列表,原创 2016-11-03 16:20:15 · 1292 阅读 · 0 评论 -
Redis内部数据结构总结(5)skiplist
redis的sorted set 底层是由skiplist,dict,ziplist来实现的。在reids.config中有两个配置zset-max-ziplist-entries 128zset-max-ziplist-value 64redis的内部结构skiplist采用的跳跃表,并对其做了一定改动。哈希表,平衡树和跳跃表都可以用来查询。其中平衡树和跳跃表使有序的原创 2016-11-02 00:02:05 · 1130 阅读 · 0 评论 -
沈洵:分布式事务原理与实践之单机事务
事务简介处理事务的常见思路事务处理的常见问题分布式事务面临的问题传统分布式事务模型赏析Google Spanner的创新与代价DRDS/TDDL的实践什么事事务看起来很简单,就三个命令bgin ccommitrollback如果没有对这个的原理了解的化,不会取舍事务的简介同步控制事务的核心是锁与并发优势:方便理解劣原创 2017-01-05 17:26:45 · 2422 阅读 · 0 评论 -
Redis内部数据结构总结(2)dict
dict是redis一个非常重要的基础数据结构,dict用来维护key和value映射关系的数据结构,与很多语言中的Map或者dictionary类似。redis的一个database中所有key到value的映射,就是一个dict来维护的。另外,当redis中的hash结构数据较多时,hash的底层会从ziplist转为dict。当redis中的sorted set 数据较多时,so原创 2016-11-04 14:41:35 · 422 阅读 · 0 评论