Redis五种数据类型

Redis五种数据类型:字符串 String,哈希 hash,列表 list ,集合 set,有序集合 softed set
 

String(字符串)


• 二进制安全,可存储任何数据,如图片或者序列化对象
• 最基本类型,一个键最大存储512MB
• 使用 SET 和 GET 命令

 

Hash(哈希)


• 键值对集合
• 是一个string类型的 field 和 value 的映射表,特别适合存储对象
• 每个HASH可以存储 232 -1 键值对(40多亿)
• 使用 HMSET 和 HGET 命令

 

List(列表)


• 字符串列表,按照插入顺序排序
• 列表最多可存储 232 - 1 元素 (4294967295, 每个列表可存储40多亿)。
• 使用 lpush 添加lpush runoob redis
• lrange runoob 0 10

 

Set(集合)


• string 类型的无序集合
• 通过HASH表实现,添加,删除,查找复杂度都是o(1)
• 使用 sadd 命令,成功返回1 ,已存在返回0,sadd key member
• smembers runoob
• 集合中最大的成员数为 232 - 1(4294967295, 每个集合可存储40多亿个成员)。

 

zset(sorted set:有序集合)


• string 类型集合,不允许重复
• 每个元素关联double类型的分数,通过分数从小到大排序
• 成员唯一,分数可重复
• 使用 zadd 命令添加元素zadd key score member
• ZRANGEBYSCORE runoob 0 1000

 

类型简介特性场景
String(字符串)二进制安全可以包含任何数据,比如jpg图片或者序列化的对象,一个键最大能存储512M---
Hash(字典)键值对集合,即编程语言中的Map类型适合存储对象,并且可以像数据库中update一个属性一样只修改某一项属性值(Memcached中需要取出整个字符串反序列化成对象修改完再序列化存回去)存储、读取、修改用户属性
List(列表)链表(双向链表)增删快,提供了操作某一段元素的API1,最新消息排行等功能(比如朋友圈的时间线) 2,消息队列
Set(集合)哈希表实现,元素不重复1、添加、删除,查找的复杂度都是O(1) 2、为集合提供了求交集、并集、差集等操作1、共同好友 2、利用唯一性,统计访问网站的所有独立ip 3、好友推荐时,根据tag求交集,大于某个阈值就可以推荐
Sorted Set(有序集合)将Set中的元素增加一个权重参数score,元素按score有序排列数据插入集合时,已经进行天然排序1、排行榜 2、带权重的消息队列









 


版权声明:本文为MYC19891010原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。