1. 字符串 (string) 操作命令
字符串是 Redis 中最简单的数据类型,常用于存储单个数值或对象。
SET key value:设置指定 key 的值。GET key:获取指定 key 的值。SETEX key seconds value:设置指定 key 的值,并将 过期时间 设为 seconds 秒。SETNX key value:只有在 key 不存在 时才设置其值。
2. 哈希 (hash) 操作命令
哈希类似于 Java 中的 HashMap,特别适合存储对象。
HSET key field value:将哈希表 key 中的字段 field 的值设为 value。HGET key field:获取哈希表中指定字段的值。HDEL key field:删除哈希表中的指定字段。HKEYS key:获取哈希表中所有的字段。HVALS key:获取哈希表中所有的值。
3. 列表 (list) 操作命令
列表是简单的字符串列表,按照 插入顺序排序,可以有重复元素。
LPUSH key value1 [value2]:将一个或多个值插入到列表头部。LRANGE key start stop:获取列表指定范围内的元素。RPOP key:移除并获取列表最后一个元素。LLEN key:获取列表长度。BRPOP key1 [key2] timeout:移出并获取列表的最后一个元素,如果列表没有元素会 阻塞 直到超时或发现可弹出元素。
4. 集合 (set) 操作命令
集合是无序且 成员唯一 的,不包含重复数据。
SADD key member1 [member2]:向集合添加一个或多个成员。SMEMBERS key:返回集合中的所有成员。SCARD key:获取集合的成员数。SINTER key1 [key2]:返回给定所有集合的 交集。SUNION key1 [key2]:返回所有给定集合的 并集。SREM key member1 [member2]:移除集合中一个或多个成员。
5. 有序集合 (sorted set / zset) 操作命令
有序集合的每个元素都会关联一个 分数 (score) ,根据分数升序排列,成员唯一。
ZADD key score1 member1 [score2 member2]:向有序集合添加一个或多个成员。ZRANGE key start stop [WITHSCORES]:通过索引区间返回有序集合中指定区间内的成员。ZINCRBY key increment member:对指定成员的分数加上增量 increment。ZREM key member [member ...]:移除有序集合中的一个或多个成员。
6. 通用命令
这些命令不分数据类型,都可以使用。
KEYS pattern:查找所有符合给定模式的 key。EXISTS key:检查给定 key 是否存在。TYPE key:返回 key 所储存的值的类型。DEL key:用于在 key 存在时删除 key。
比喻理解: Redis 就像一个智能储物柜。
- String 像是一个小抽屉,里面只能放一个物品。
- Hash 像是一个多层首饰盒,外面贴一个总标签(Key),里面每一层放不同的首饰(Field-Value)。
- List 像是一条细长的传送带,物品按顺序排队。
- Set 像是一个装满不同颜色球的袋子,不会有两个一模一样的球,也没有固定顺序。
- Sorted Set 像是一个领奖台,每个选手(Member)都有一个特定的得分(Score),按名次排好。
- 通用命令 则像是储物柜的管理员手册,用来查询(KEYS)、检查(EXISTS)或清理(DEL)整个柜子。