Loading...
跳跃表 跳跃表是一种有序的数据结构,它通过在每个节点中维持多个指向其他节点的指针,从而快速访问节点的目的。跳跃表支持平均O(logN)、最坏O(N)复杂度的节点查找,还可以通过顺序性操作来批量处理节点。在大部分情况下,跳跃表的效率可以和平衡树相媲美,并且因为跳跃表的实现比平衡树要来得更为简单,所以有不少程序都使用跳跃表来代...
字典,又称为符号表、关联数组或映射,是一种用于保存键值对的抽象数据结构。在学习Redis字典基本操作的同时我们需要思考,它和其他语言(或工具)中的字典是否不同,尤其在解决哈希冲突和rehash的细节上。基本操作127.0.0.1:6379> hset person name "zhangsan"...
链表提供了高效的节点重拍能力,以及顺序性的节点访问方式,并且可以通过增删节点的方式来灵活地调整链表的长度。链表在Redis中应用十分广泛,比如列表的底层实现就是链表。链表及节点的实现 链表的每个节点表示如下(adlist.h):typedef stru...
如果我们需要记录用户在一年时间内每天是否登陆我们的应用这一需求该如何完成呢?如果使用普通的 key/value,每个用户要记录 365 个,当用户上亿的时候,需要的存储空间是惊人的。所幸,Redis 提供了位图数据结构,这样每天的登陆记录只占据一个位,365 天就是 365 个位,46 个字节 就可以完全容纳下,这就大大...
字符串是Redis五种基本数据类型中的基础。同时也是我们在学习编程中接触最多的一种数据类型。本文将从使用、源码、编码三个部分讲解此数据类型在Redis中的使用。字符串 string是Redis中最简单的数据结构。Redis中所有的数据结构都是以唯一的k...