Redis常用命令总结

Redis 数据类型与操作命令总结

通用命令(适用于所有类型)

命令 说明
DEL key 删除指定键
EXISTS key 检查键是否存在(返回 1/0)
TYPE key 返回键对应值的数据类型
RENAME key new_key 重命名键
EXPIRE key seconds 为键设置过期时间(秒)
TTL key 获取键的剩余过期时间(-1 永不过期,-2 已过期)
KEYS pattern 查找符合模式的键(如 KEYS user*

一、字符串(String)

字符串是 Redis 最基础的数据类型,可存储文本、数字等,最大长度 512MB。

操作 命令示例 说明
增加 SET key value [EX seconds] 设置键值,可选过期时间(EX 秒,PX 毫秒)
增加 MSET key1 val1 key2 val2 ... 批量设置键值
读取 GET key 获取键对应的值
读取 MGET key1 key2 ... 批量获取多个键的值
修改 SET key new_value 直接覆盖原 value 完成修改
修改 INCR key 对数值型 value 自增 1(若为字符串会尝试转换)
修改 DECR key 对数值型 value 自减 1
删除 DEL key 删除指定键(通用命令,适用于所有类型)

二、哈希(Hash)

哈希用于存储键值对集合(类似 JSON 对象),适合存储对象类数据(如用户信息)。

操作 命令示例 说明
增加 HSET hash_key field value 为哈希表设置字段和值
增加 HMSET hash_key f1 v1 f2 v2 ... 批量设置哈希表的多个字段值
读取 HGET hash_key field 获取哈希表中指定字段的值
读取 HMGET hash_key f1 f2 ... 批量获取哈希表的多个字段值
读取 HGETALL hash_key 获取哈希表中所有字段和值
修改 HSET hash_key field new_value 覆盖原字段值完成修改
修改 HINCRBY hash_key field num 对字段的数值型 value 增减指定数值
删除 HDEL hash_key field1 field2 ... 删除哈希表中指定的字段
删除 DEL hash_key 删除整个哈希表

三、列表(List)

列表是有序的字符串集合(可重复),底层为双向链表,支持两端操作。

操作 命令示例 说明
增加 LPUSH list_key value1 value2 ... 从列表左侧插入一个或多个值
增加 RPUSH list_key value1 value2 ... 从列表右侧插入一个或多个值
读取 LRANGE list_key start end 获取列表中指定范围的元素(0 为头,-1 为尾)
读取 LPOP list_key 移除并返回列表左侧第一个元素
读取 RPOP list_key 移除并返回列表右侧第一个元素
读取 LLEN list_key 获取列表长度
修改 LSET list_key index new_value 修改列表中指定索引位置的元素(索引从 0 开始)
删除 LREM list_key count value 从列表中删除 count 个值为 value 的元素(count>0 从左,<0 从右)
删除 DEL list_key 删除整个列表

四、集合(Set)

集合是无序的字符串集合(不可重复),支持交集、并集等集合运算。

操作 命令示例 说明
增加 SADD set_key member1 member2 ... 向集合中添加一个或多个元素
读取 SMEMBERS set_key 获取集合中所有元素(无序)
读取 SCARD set_key 获取集合中元素的数量
读取 SISMEMBER set_key member 判断元素是否在集合中(返回 1/0)
修改 无直接修改命令,需先删后加 SREM set_key old && SADD set_key new
删除 SREM set_key member1 member2 ... 从集合中删除指定元素
删除 SPOP set_key [count] 随机删除并返回集合中的 count 个元素(默认 1 个)

五、有序集合(Sorted Set)

有序集合是带分数(score)的字符串集合,按分数排序,元素不可重复。

操作 命令示例 说明
增加 ZADD zset_key score1 member1 ... 向有序集合中添加元素和分数
读取 ZRANGE zset_key start end [WITHSCORES] 按分数升序获取指定范围的元素(带分数可选)
读取 ZREVRANGE zset_key start end [WITHSCORES] 按分数降序获取指定范围的元素(带分数可选)
读取 ZRANGEBYSCORE zset_key min max [WITHSCORES] 按分数范围获取元素(min/max 支持 -inf/+inf)
修改 ZADD zset_key new_score member 通过更新分数修改元素顺序
删除 ZREM zset_key member1 member2 ... 从有序集合中删除指定元素
删除 ZREMRANGEBYSCORE zset_key min max 删除指定分数范围内的元素

常见应用场景

数据类型 典型场景
字符串 缓存、计数器、分布式锁
哈希 用户信息、对象存储
列表 消息队列、最新动态列表
集合 标签系统、共同好友、去重统计
有序集合 排行榜、热门列表、时间线排序
相关推荐
还是鼠鼠1 小时前
Redisson实现的分布式锁能解决主从一致性的问题吗?
java·数据库·redis·分布式·缓存·面试·redisson
w***74171 小时前
spring session、spring security和redis整合的简单使用
redis·spring·bootstrap
爬山算法2 小时前
Redis(153)Redis的网络使用如何监控?
网络·redis·bootstrap
O***Z6162 小时前
Redis——Windows安装
数据库·windows·redis
万变不离其宗_83 小时前
centos 手动安装redis
linux·redis·centos
beata5 小时前
如何正确使用 Redis 分布式锁(完整技术分享文档)
redis
shuair6 小时前
redis大key问题-生成大key-生成100万条测试数据
redis
n***33357 小时前
linux redis简单操作
linux·运维·redis
T***74258 小时前
redis连接服务
数据库·redis·bootstrap
m***92389 小时前
Window下Redis的安装和部署详细图文教程(Redis的安装和可视化工具的使用)
数据库·redis·缓存