企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。 1. String(字符串) string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如jpg图片或者序列化的对象。 常用命令: 自加:incr 自减:decr 加: incrby 减: decrby ![](https://img.kancloud.cn/97/96/97964d4b74ff86f4f73f776feeebb11f_664x295.png) **注意**:一个键最大能存储 512MB。 2. Hash(哈希) Redis hash 是一个键值(key=>value)对集合。 Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。 常用命令: hset:添加hash数据 hget:获取hash数据 hmset:添加多个hash数据 hmget:获取多个hash数据 ![](https://img.kancloud.cn/00/1a/001a59118020cf4ee7c7cbbd5ffb3964_845x183.png) **注意**:每个 hash 可以存储 2^32 - 1 键值对(40多亿)。 3. List(列表) Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。 常用命令: lpush:从左边推入 lpop:从右边弹出 rpush:从右变推入 rpop:从右边弹出 llen:查看某个list数据类型的长度 ![](https://img.kancloud.cn/24/97/24977f6e5dbf266cc63e8e9548e59be4_840x281.png) ![](https://img.kancloud.cn/ca/52/ca5215495e0b423edb319a8f175e19f9_639x273.png) **注意**:列表最多可存储 2^32 - 1元素 (4294967295, 每个列表可存储40多亿)。 4. Set(集合) Redis 的 Set 是 string 类型的无序集合。 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。 常用命令: sadd:添加数据 scard:查看set数据中存在的元素个数 sismember:判断set数据中是否存在某个元素 srem:删除某个set数据中的元素 ![](https://img.kancloud.cn/a3/fb/a3fb568317cf456285719d8f6953816c_524x346.png) **注意**: 以上实例中12添加了两次,但根据集合内元素的唯一性,第二次插入的元素将被忽略。 集合中最大的成员数为 2^32 - 1(4294967295, 每个集合可存储40多亿个成员)。 5. zset(sorted set:有序集合) Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。 不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。 zset的成员是唯一的,但分数(score)却可以重复。 常用命令: zadd:添加 zcard:查询 zrange:数据排序 ![](https://img.kancloud.cn/5e/d1/5ed1e8e1d1fed866b226137f65bdebb4_577x533.png) | 序号 | 命令及描述 | | --- | --- | | 1 | **ZREVRANK key member** 返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序 | ## 各个数据类型应用场景: | 类型 | 简介 | 特性 | 场景 | | --- | --- | --- | --- | | String(字符串) | 二进制安全 | 可以包含任何数据,比如jpg图片或者序列化的对象,一个键最大能存储512M | \--- | | Hash(字典) | 键值对集合,即编程语言中的Map类型 | 适合存储对象,并且可以像数据库中update一个属性一样只修改某一项属性值(Memcached中需要取出整个字符串反序列化成对象修改完再序列化存回去) | 存储、读取、修改用户属性 | | List(列表) | 链表(双向链表) | 增删快,提供了操作某一段元素的API | 1,最新消息排行等功能(比如朋友圈的时间线) 2,消息队列 | | Set(集合) | 哈希表实现,元素不重复 | 1、添加、删除,查找的复杂度都是O(1) 2、为集合提供了求交集、并集、差集等操作 | 1、共同好友 2、利用唯一性,统计访问网站的所有独立ip 3、好友推荐时,根据tag求交集,大于某个阈值就可以推荐 | | Sorted Set(有序集合) | 将Set中的元素增加一个权重参数score,元素按score有序排列 | 数据插入集合时,已经进行天然排序 | 1、排行榜 2、带权重的消息队列 |