
Redis
文章平均质量分 78
bomekkkk
想进蚂蚁金服
展开
-
Redis(三):字典(Dictionary)
字典字典,又称为符号表(Symbol table)、关联表(associative array)或映射(map),是一种用于保存键值对(key-value pair)的抽象数据结构。在字典里面,一个键(key)可以和一个值(value)进行关联(将键映射为值)字典中的每个键都是独一无二的,程序可以在字典中根据键查找与之关联的值,或者通过键更新值,又或者根据键来删除整个键值对。Redis所使用的C语...原创 2018-05-17 17:19:22 · 2007 阅读 · 0 评论 -
Redis(一):简单动态字符串(SDS)
简单动态字符串(Simple Dynamic String) Redis没有直接使用C语言传统的字符串表示(以空字符结尾的字符串),而是自己构建了一种命名为简单动态字符串SDS的抽象类型,并将SDS用作Redis的默认字符串表示。 在Redis里面,C字符串只会作为字符串字面量(String literal)用在一些无须对值进行修改的地方。当需要使用到需要修改的字符串的时候就会使用SD...原创 2018-05-11 23:21:29 · 1578 阅读 · 0 评论 -
Redis(二):链表(Linked List)
链表链表提供了高校的节点重排能力,以及顺序性的节点访问方式,并且可以通过增删节点来灵活地调整链表的长度。作为一种常用的数据结构,链表内置在很多高级的编程语言里面,因为Redis使用的C语言并没有内置这种数据结构,所以Redis构建了自己的链表实现。链表在Redis中应用非常广泛,比如列表建的底层实现之一就是链表,当一个列表包含了数量比较多的元素,又或者列表中包含的元素都是比较长的字符串时,Redi...原创 2018-05-15 11:01:54 · 2286 阅读 · 1 评论 -
Redis(四):字典-渐进式hash
本篇接着上面Redis的字典进行继续分析,主要讲解Redis字典里面是如何实现渐进式Hash的策略的。渐进式Hash听名字就很容易参透出来是什么意思,渐进的意思就是不一步到位,而是慢慢的操作。慢慢的计算出Hash值。这个Redis的动作并不是一次性,集中性的完成,而是分多次,渐进式的完成的。这样做的原因在于,如果ht[0]里...原创 2018-05-22 14:35:51 · 1576 阅读 · 0 评论 -
Redis(五):跳跃表(SkipList)
跳跃表跳跃表(skiplist)是一种有序数据结构,他通过在每个节点中维持多个指向其他节点的指针,从而达到快速访问节点的目的。跳跃表支持平均O(logN),最坏O(N)复杂度的节点查找,还可以通过顺序性操作来批量处理节点。在大部分情况下,跳跃表的效率可以和平衡树媲美,并且因为跳跃表的实现比平衡树要来得更为简单,所以有不少程序都直接使用跳跃表来代替平衡树。Redis使用跳跃表作为有序集合键的底层实现...原创 2018-05-23 10:16:13 · 747 阅读 · 3 评论 -
Redis(六):数据库
Redis数据库本篇将对Redis服务器的数据库实现进行详细介绍,说明服务器保存数据库的方法,客户端切换数据库的方法。数据库保存键值对的方法,以及针对数据库的添加,删除,查看,更新操作的实现方式等。服务器中的数据库Redis服务器将所有的数据库都保存在服务器状态redis.h/redisServer结构的db数组中,db数组的每个项都是一个redis.h/redisDB结构,每个redisDB结构...原创 2018-05-25 10:15:47 · 530 阅读 · 0 评论