深入浅出Redis-redis底层数据结构 - Go语言中文社区

深入浅出Redis-redis底层数据结构


 

深入浅出Redis-redis底层数据结构上 包含了SDS,链表,字典

reids中的字典数据结构 这个讲的比较好

深入浅出Redis-redis底层数据结构(下)包含了跳跃表skiplist,整数集合Intset,压缩列表ziplist

redis:五种数据结构的实现方式

1.String 类型的值(SDS)

set name zhongxin; get name;

使用sds底层进行实现的。

2. hash类型(压缩列表,或者字典)

Redis hash 是一个键值(key=>value)对集合。

Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。

3.List(列表)双向链表或者压缩列表实现

例 redis 127.0.0.1:6379> lpush runoob redis (integer) 1

redis 127.0.0.1:6379> lpush runoob mongodb (integer) 2

redis 127.0.0.1:6379> lpush runoob rabitmq (integer) 3

redis 127.0.0.1:6379> lrange runoob 0 10

1) "rabitmq"

2) "mongodb"

3) "redis"

redis 127.0.0.1:6379> 列表最多可存储 232 - 1 元素 (4294967295, 每个列表可存储40多亿)。

4.sort  整数集合Intset

sadd key member 实例

redis 127.0.0.1:6379> sadd runoob redis (integer) 1

redis 127.0.0.1:6379> sadd runoob mongodb (integer) 1

redis 127.0.0.1:6379> sadd runoob rabitmq (integer) 1

redis 127.0.0.1:6379> sadd runoob rabitmq (integer) 0

redis 127.0.0.1:6379> smembers runoob

1) "redis"

2) "rabitmq"

3) "mongodb"

5 zset(sorted set:跳跃表)

zadd key score member 实例

redis 127.0.0.1:6379> zadd runoob 0

redis (integer) 1

redis 127.0.0.1:6379> zadd runoob 0 mongodb (integer) 1

redis 127.0.0.1:6379> zadd runoob 0 rabitmq (integer) 1 

127.0.0.1:6379> zadd runoob 0 rabitmq (integer) 0

redis 127.0.0.1:6379> > ZRANGEBYSCORE runoob 0 1000 1)

"mongodb" 2) "rabitmq" 3) "redis"

 

 

 

 

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/m0_37633957/article/details/86315024
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-02-13 15:27:47
  • 阅读 ( 1349 )
  • 分类:Redis

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢