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 分钟过期)
相关推荐
旷世奇才李先生2 小时前
Redis高级实战:分布式锁、缓存穿透与集群部署(附实战案例)
redis·分布式·缓存
herinspace2 小时前
管家婆实用贴-如何分离和附加数据库
开发语言·前端·javascript·数据库·语音识别
步辞3 小时前
Go语言怎么用channel做信号通知_Go语言channel信号模式教程【完整】
jvm·数据库·python
weixin_424999363 小时前
mysql行级锁失效的原因排查_检查查询条件与执行计划
jvm·数据库·python
Polar__Star3 小时前
uni-app怎么实现App端一键换肤 uni-app全局样式动态切换【实战】
jvm·数据库·python
南境十里·墨染春水4 小时前
linux学习进展 进程间通讯——共享内存
linux·数据库·学习
斯维赤5 小时前
Python学习超简单第八弹:连接Mysql数据库
数据库·python·学习
Chuer_5 小时前
讲透财务Agent核心概念,深度拆解财务Agent应用趋势
大数据·数据库·安全·数据分析·甘特图
gushinghsjj5 小时前
什么是主数据管理平台?怎么构建主数据管理平台?
大数据·数据库