redis命令集合

一、基础通用命令(所有数据类型通用)

复制代码
# 查看所有 key(谨慎用,生产环境慎用 keys *)
keys *

# 查看 key 是否存在(存在返回1,不存在返回0)
exists key_name

# 查看 key 类型(string/list/hash/set/zset)
type key_name

# 设置过期时间(秒)
expire key_name 3600  # 1小时后过期

# 查看 key 剩余过期时间(秒,-1=永久,-2=不存在)
ttl key_name

# 删除 key
del key_name

# 清空当前数据库所有数据(危险!)
flushdb

# 清空所有数据库数据(危险!)
flushall

二、字符串类型(String)

最常用的缓存类型,存普通文本、JSON、数字。

复制代码
# 设置值
set key value
setex key 3600 value  # 同时设置过期时间(秒)
setnx key value       # key不存在才设置(防重复)

# 获取值
get key

# 数字自增/自减(适合计数器)
incr key       # 自增1
incrby key 10  # 自增10
decr key       # 自减1

三、哈希类型(Hash)

适合存对象(比如用户信息、商品信息),一个 key 下多个字段。

复制代码
# 设置单个字段
hset user:1 name "张三"
hset user:1 age 20

# 获取单个字段
hget user:1 name

# 批量设置/获取
hmset user:2 name "李四" age 25 gender "男"
hmget user:2 name age gender

# 获取所有字段和值
hgetall user:1

# 删除字段
hdel user:1 age

四、列表类型(List)

适合做队列、消息推送、消息列表,有序可重复。

复制代码
# 左边添加(入队头)
lpush list_name value1 value2

# 右边添加(入队尾)
rpush list_name value3 value4

# 左边弹出(出队头)
lpop list_name

# 右边弹出(出队尾)
rpop list_name

# 获取列表元素(索引从0开始,-1表示最后一个)
lrange list_name 0 -1

五、集合类型(Set)

无序、不重复,适合做标签、去重、好友关系。

复制代码
# 添加元素
sadd set_name value1 value2 value3

# 获取所有元素
smembers set_name

# 判断元素是否存在
sismember set_name value1

# 删除元素
srem set_name value1

六、有序集合(ZSet)

带权重的集合,适合做排行榜、延时队列,按分数排序。

复制代码
# 添加元素(分数+值)
zadd rank 100 "userA" 90 "userB" 80 "userC"

# 按分数升序获取(0-10表示排名,-1表示最后一个)
zrange rank 0 -1 WITHSCORES

# 按分数降序获取
zrevrange rank 0 -1 WITHSCORES

# 获取元素分数
zscore rank "userA"

七、数据库操作命令

复制代码
# 切换数据库(默认16个,0-15,你截图里的 :0> 就是第0个库)
select 1  # 切换到第1个库

# 查看当前数据库 key 数量
dbsize

💡 常用场景示例

  1. 缓存用户信息 :用 Hashhset user:1001 name "张三" phone "138xxxx"
  2. 商品浏览记录 :用 Listlpush history:1001 10086
  3. 排行榜 :用 ZSetzadd hot:goods 1000 "10086"
  4. 短信验证码 :用 Stringsetex code:138xxxx 300 "123456"(5 分钟过期)
相关推荐
m0_59136473几秒前
mysql如何通过索引减少行锁范围_mysql索引与加锁逻辑
jvm·数据库·python
代码中介商2 分钟前
MySQL 核心进阶:事务、隔离级别与视图实战
数据库·mysql
七爷不在我这里4 分钟前
oracle的26版本及以下 Null的判断及空串判定
数据库·oracle
weixin_4440129312 分钟前
CSS如何实现单选按钮自定义样式_利用伪元素隐藏默认UI
jvm·数据库·python
X566113 分钟前
CSS如何利用Grid重写老旧的表格布局
jvm·数据库·python
思麟呀15 分钟前
MySQL复合查询与内外连接
android·数据库·mysql
ㄟ留恋さ寂寞17 分钟前
mysql如何配置MySQL的连接保持_调整tcp_keepalive设置
jvm·数据库·python
2301_7838486517 分钟前
Less如何构建CSS样式库_通过继承机制优化组件化开发
jvm·数据库·python
Mahir089 小时前
Redis 与 MySQL 数据同步:一致性保证的完整解决方案
数据库·redis·mysql·缓存·面试·数据一致性
2301_769340679 小时前
如何在 Vuetify 中可靠捕获 Chip 关闭事件(包括键盘触发).txt
jvm·数据库·python