Redis学习-常用的数据类型

Reids平常我们一般说的数据类型是:

  1. 字符串(String)
  2. 列表(List)
  3. 哈希(Hash)
  4. Set(集合)
  5. Sorted(有序集合)

Redis底层的数据实现

  1. 简单动态字符串
  2. 双向列表
  3. 压缩列表
  4. 哈希表
  5. 跳跃表
  6. 整数数组
对应关系

Reids数据 类型和底层数据的对应关系

简单说明

字符串

命令

内部编码实现

1.int 8字节的长整形
2.embstr 少于39字节的字符串
3.raw 大于39个字节的字符串

场景

1.缓存功能

哈希

命令
内部编码实现

1.ziplist(压缩列表)
ziplist使用更加紧凑的结构实现多个连续元素的连续存储,所以在节省内存方面更加优秀
使用条件:a.哈希类型个数小于hash-max-ziplist-entries配置(默认512)
b.所有值小于hash-max-ziplist-value配置(默认64)
2.hashtable(哈希表) 当无法满足ziplist的条件时,使用此实现

场景
1.用户属性信息的保存

列表

命令
内部编码
  1.ziplist(压缩列表)
  ziplist使用更加紧凑的结构实现多个连续元素的连续存储,所以在节省内存方面更加优秀
  使用条件:a.列表的元素个数小于hash-max-ziplist-entries配置(默认512)
            b.所有值小于hash-max-ziplist-value配置(默认64)
  linkedlist(链表)

场景

1.消息队列
2.文章列表

集合

命令

内部编码
 1.intset(整数集合)
    a.set-max-intset-entries小于512(默认配置)
 2.hashtable(哈希表)

场景

 1.标签

有序集合

内部编码

 1.ziplist(压缩列表)
  a.zset-max-ziplist-entries小于128(默认配置)
  b.zset-max-ziplist-value小于64字节(默认配置)
 2.skiplist(跳跃表)

猜你喜欢

转载自blog.csdn.net/wolf2s/article/details/107931025