
redis学习
奋斗小菠萝
深入一些,原来更美好
展开
-
redis请求路由算法策略
redis请求路由文章目录redis请求路由按范围路由hash后按节点取模一致性hashHash槽为什么是16384个槽redis 集群节点路由通过哈希槽实现在介绍哈希槽之前,先带着几个问题进入,正所谓,深入一点,会更美好。有几种常用的路由算法哈希槽具体怎么实现为什么redis要选择哈希槽首先,我们来看 有几种常用的路由算法按范围路由例如:有1——100的key,A,B,C,D四个节点。按key值将1——25分布到A节点,26——50分布到B节点,51——75分布到C节点,76——原创 2020-05-21 13:57:17 · 1783 阅读 · 2 评论 -
【redis学习笔记-01-基础篇】-01-5种基本数据类型及基础操作
目录字符串(string)字典(hash)列表(list)集合(set)有序集合(zset)其他redis常用命令字符串(string)redis里的字符串不同于java或者c里的字符串,redis的字符串是可变的。redis称之为SDS(simple dynamic string)常用操作命令set [key] [value] 放置单个key对应...原创 2019-06-01 18:26:18 · 250 阅读 · 0 评论 -
【redis学习笔记-01-基础篇】-02-简单动态字符串
redis中的字符串不同于C语言的字符串,C语言的字符串是以'\0'空字符作为结束符的字符数组,而redis中的字符串是redis自己构建的一种名为简单动态字符串(SDS)的抽象结构体。SDS是一个带有长度信息的字节数组。数据存放在content数组中,capacity是其数组容量,表示当前数组的总长度。len为数组的实际长度,表示当前字符串占用的实际长度。C语言的字符串本身不记录...原创 2019-06-07 21:37:24 · 171 阅读 · 0 评论 -
【redis学习笔记-01-基础篇】-03-字典
字典可以理解为redis中的map。是一种保存键值对的数据结构。键值对的常用操作包括新增,更新,和删除如上为字典的数据结构示意图,table所指结构几乎和java中的HashMap一样,为数组加链表的方式通过分桶hash来解决键冲突。不一样的是可以看到这里的字典结构有两份,另外一份dictht1此刻table指向的是null。redis中维护两份table的原因在于字典扩容考虑。不...原创 2019-06-16 13:02:44 · 183 阅读 · 0 评论 -
【redis学习笔记-01-基础篇】-04-压缩列表与快速列表
为什么要将压缩列表和快速列表放在一起?什么是压缩列表,什么是快速列表?要回答上面两个问题,在此之前我们先了解下redis的列表。在之前的博客中有写到redis的5中基本数据类型,其中就包括 list ,也说过 list 本质上是个双向链表。我们可以把 list 做队列使用,也可以用 list 来做栈使用。具体应用操作可回顾之前文章。redis出于空间利用率考虑,list ...原创 2019-07-07 20:21:19 · 585 阅读 · 0 评论 -
【redis学习笔记-01-基础篇】-05-跳跃列表
上图所示跳跃列表存储示意图每一个节点就是上图所示的每一列。可以看到每一列的高度不一样,这正是跳跃列表的不同之处。每个节点存储的数据是kv结构,分别存储了数据value和对应的分数score。节点的高度是该节点的层级属性。通过随机算法,节点在创建时会被设置成相应的层级level高度。图中只演示了4层,但其实redis中的跳跃列表的最大层级并不止此所示。列表中的数据按score从小到大...原创 2019-07-14 16:15:56 · 198 阅读 · 0 评论