跳跃表(skiplist)是一种有序数据结构,它通过在每个节点中维持多个指向其他节点的指针,从而达到快速访问节点的目的。
跳跃表平均支持O(logN)、最坏O(N)复杂度的节点查找,还可以通过顺序性操作来批量处理节点。
Redis使用跳跃表作为有序集合键的底层实现之一,如果一个有序集合包含的元素数量比较多,又或者有序集合中元素的成员是比较长的字符串时,Redis就会使用跳跃表来作为有序集合键的底层实现。
- 实现有序集合键
- 在集群节点中用做内部数据结构
前游戏热爱者
跳跃表(skiplist)是一种有序数据结构,它通过在每个节点中维持多个指向其他节点的指针,从而达到快速访问节点的目的。
跳跃表平均支持O(logN)、最坏O(N)复杂度的节点查找,还可以通过顺序性操作来批量处理节点。
Redis使用跳跃表作为有序集合键的底层实现之一,如果一个有序集合包含的元素数量比较多,又或者有序集合中元素的成员是比较长的字符串时,Redis就会使用跳跃表来作为有序集合键的底层实现。
终于能给博客插图了,以前一直以为要把图片单独上传到七牛云这些线上服务器才行,hexo可以直接用本地的服务器了。
链表提供了高效的节点重排能力,以及顺序访问的节点访问方式,并且可以通过增删节点来灵活地调整链表的长度。1
2
3
4
5
6
7
8
9redis> LIEN integers
(integer) 1024
redis> LRANGE integers 0 5
1)"1"
2)"2"
3)"3"
4)"4"
5)"5"
Redis没有直接使用C语言传统的字符串表示,而是自己构建了一种名为简单动态字符串(simple dynamic string, SDS)的抽象类型,并将SDS用作Redis的默认字符串表示。1
2redis> SET msg "hello world"
OK
静态工厂方法与构造器不同的优势在于
Nested Documents是Solr引擎提供的一种用来描述父子关系的一种Document,描述的是一种一对多的关系。举个例子,一篇博客和很多评论,那么该博客就可以作为父doc的形式存在,而每条评论就可以作为子doc包含在父doc中。
因为之前做的是手游开发python + lua,所以编辑器一直用的是sublime,然后为了写markdown特地去安装了一个markdown编辑器,后来发现原来sublime也可以变成一个漂亮的Markdown编辑器。