
Redis
ZhangShuoo
这个作者很懒,什么都没留下…
展开
-
【Redis】对象
Redis对象概述对象数据结构type 类型encoding 编码字符串对象 概述 对象包含: 字符串对象, 列表对象, 哈希对象, 集合对象, 有序集合对象 Redis 用基于数据结构实现的对象系统来实现数据库, 而是没有直接用数据结构 对于同一种对象, 可以在不同的使用场景下使用不同的数据结构来实现, 从而优化效率 Redis通过引用计数实现内存回收机制和对象共享技术 Redis通过对象的访...原创 2019-10-23 23:20:07 · 175 阅读 · 0 评论 -
【Redis】数据结构 - 跳跃表
跳跃表概述实现优点 概述 跳跃表(skipList)基于有序链表实现,在链表的基础上加入多个指针,从而达到快速查找的目的。 查找时间复杂度: 平均O(logN),最坏O(N) 跳跃表是有序集合键的实现之一,在集合中包含元素数量较多, 或是元素成员是较长字符串时选用跳跃表。跳跃表也是集群节点中的内部数据结构。 实现 zskiplist 用于存储跳跃表的相关信息 typedef struct...原创 2019-10-20 11:38:13 · 187 阅读 · 0 评论 -
【Redis】数据结构 - 字典
概述 字典又称映射(map), 是一种用于保存键值对的数据结构。 字典的键(key)唯一,一个键对应一个值(value),查找,删除,更新都需要通过键来操作。 redis的数据库就是使用字典作为底层的 新增键值对"msg"->"hello world", 执行redis命令: redis> SET msg "hello world" 字典也是哈希键的底层实现之一 ...原创 2019-10-16 20:30:39 · 215 阅读 · 0 评论 -
【Redis】数据结构 - 链表
概述 链表提供顺序访问方式,有高效的节点重排能力和节点增删能力。 Redis由C语言实现, 但C语言没有自带链表的数据结构。因此Redis构建了自己的链表实现。 Redis应用广泛, 例如列表键的底层实现之一就是链表。当一个列表建包含了数量较多的元素时,又或者列表中包含的元素都是比较长的字符串时, Redis就会使用链表作为链表建的底层实现。 除链表建外,发布与订阅、慢查询、监视器等功能也用到了链...原创 2019-08-13 15:59:07 · 259 阅读 · 0 评论 -
【Redis】数据结构 - SDS
简单动态字符串SDS概述SDS定义兼容部分C字符串函数特性常数复杂度获取字符串长度杜绝缓冲区溢出减少修改字符串时带来的内存重新分配次数空间预分配惰性空间释放二进制安全 概述 Redis底层由C语言实现, 但Redis并没有直接使用C语言的字符串, 而是自己构建了一种名为 SDS ( Simple Dynamic String ) 简单动态字符串来作为其字符串的数据结构. 在Redis中, C语言...原创 2019-08-13 11:19:04 · 235 阅读 · 0 评论