Redis是大型架构核心,下面我详解Redis命令@mikechen
一、Redis命令分类总览
Redis常用命令
│
├── Key管理
│ ├── KEYS
│ ├── EXISTS
│ ├── DEL
│ ├── EXPIRE
│
├── String操作
│ ├── SET
│ ├── GET
│ ├── INCR
│
├── Hash操作
│ ├── HSET
│ ├── HGET
│
├── List操作
│ ├── LPUSH
│ ├── LRANGE
│
├── 性能排查
│ ├── INFO
│ ├── MONITOR
│
└── 数据持久化
└── BGSAVE
二、KEYS:查询所有匹配Key
作用
查看Redis中存在的Key。
命令
KEYS *
查询用户相关Key:
KEYS user:*
返回结果
1) user:1001
2) user:1002
3) user:1003
注意事项
生产环境慎用:
KEYS属于O(N)操作
数据量百万级以上
可能阻塞Redis主线程
推荐使用:
SCAN
三、EXISTS:判断Key是否存在
命令
EXISTS user:1001
返回结果
(integer) 1
说明存在。
(integer) 0
说明不存在。
应用场景
缓存是否命中判断:
if(redis.exists(key)){
return redis.get(key);
}
四、DEL:删除Key
命令
DEL user:1001
删除多个:
DEL key1 key2 key3
返回结果
(integer) 1
表示删除成功。
五、EXPIRE:设置过期时间
命令
EXPIRE user:1001 3600
表示:
1小时后自动删除
查看剩余时间
TTL user:1001
返回:
3500
表示还剩3500秒。
六、SET:设置字符串值
命令
SET name mike
返回
OK
带过期时间
SET token abc123 EX 3600
EX = 秒
PX = 毫秒
七、GET:获取字符串值
命令
GET name
返回:
"mike"
应用场景
缓存读取:
String value = redis.get(key);
八、INCR:计数器自增
命令
INCR page:view
第一次:
1
第二次:
2
第三次:
3
应用场景
网站访问量统计
PV统计
点赞数
Like计数
秒杀库存扣减
库存计数
九、HSET:Hash存储对象
命令
HSET user:1001 name mike age 28
Redis存储结构
user:1001
│
├── name=mike
├── age=28
优势
相比String:
节省内存
便于部分字段修改
十、HGET:获取Hash字段
命令
HGET user:1001 name
返回:
"mike"
获取全部字段:
HGETALL user:1001
返回:
name mike
age 28
十一、LPUSH:消息入队
命令
LPUSH order_queue order1001
再插入:
LPUSH order_queue order1002
结构:
order1002
order1001
应用场景
消息队列
任务队列
异步处理
十二、LRANGE:查看List内容
命令
查看全部:
LRANGE order_queue 0 -1
返回:
1) order1002
2) order1001
查看前10条:
LRANGE order_queue 0 9
十三、INFO:查看Redis运行状态
命令
INFO
查看内存
INFO memory
返回:
used_memory
used_memory_peak
查看客户端
INFO clients
查看复制状态
INFO replication
线上排查问题必备。