摘要
Redis命令大全 Redis 1. 客户端连接(shell命令) redis-cli # 本地连接,默认127.0.0.1:6379 redis-cli -h 127.0.0.1 -p 6379 # 指定ip端口连接 redis-cli ...
Redis命令大全
Redis
1. 客户端连接(shell命令)
redis-cli # 本地连接,默认127.0.0.1:6379
redis-cli -h 127.0.0.1 -p 6379 # 指定ip端口连接
redis-cli -h 127.0.0.1 -p 6379 -a 123456 # 带密码连接(不推荐,会留记录)
redis-cli --no-auth-warning # 关闭密码告警
redis-cli -n 1 # 直接选择db1
2. 基础操作(redis客户端内)
ping # 测试连通,返回PONG
auth 123456 # 密码认证
select 1 # 切换数据库,默认db0
dbsize # 当前库key数量
keys * # 查询所有key(生产禁止!大库阻塞)
scan 0 # 迭代遍历key,安全替代keys
exists key1 # 判断key是否存在
del key1 # 删除key
unlink key1 # 异步删除,大key优先用这个
expire key1 60 # 设置过期时间60秒
ttl key1 # 查看剩余过期时间,-1永不过期 -2已删除
persist key1 # 取消过期
type key1 # 查看key数据类型
rename old new # 重命名key
3. String 字符串(最常用)
set name "zhangsan"
setex name 60 "zhangsan" # 设置+过期时间
setnx name "zhangsan" # key不存在才设置(分布式锁基础)
get name
mset k1 v1 k2 v2 # 批量设置
mget k1 k2 # 批量获取
incr num # 自增1(原子)
incrby num 10 # 自增指定数值
decr num
decrby num 5
append name "_test" # 追加内容
4. Hash 哈希(适合对象存储)
hset user:1 name lisi age 22
hget user:1 name
hgetall user:1 # 获取所有字段和值
hmget user:1 name age
hkeys user:1 # 获取所有field
hvals user:1 # 获取所有value
hexists user:1 age
hdel user:1 age
hincrby user:1 age 1
hlen user:1 # field数量
5. List 列表(双向队列)
lpush list1 a b c # 左侧插入
rpush list1 d e # 右侧插入
lpop list1 # 左侧弹出
rpop list1 # 右侧弹出
lrange list1 0 -1 # 查询全部元素
lindex list1 0 # 获取指定下标元素
llen list1 # 列表长度
lrem list1 1 a # 删除指定值
6. Set 集合(去重,交集差集)
sadd set1 1 2 3
smembers set1 # 获取集合所有元素
sismember set1 2 # 判断是否存在
scard set1 # 元素个数
srem set1 3
sinter set1 set2 # 交集
sunion set1 set2 # 并集
sdiff set1 set2 # 差集
spop set1 # 随机弹出一个
7. ZSet 有序集合(排行榜)
zadd rank 90 tom 85 jack
zrange rank 0 -1 # 从小到大查询
zrevrange rank 0 -1 # 从大到小(排行榜)
zscore rank tom # 获取分数
zincrby rank 5 tom # 分数增加
zcard rank
zrem rank jack
zrangebyscore rank 80 100 # 按分数区间查询
8. 发布订阅
subscribe channel1
publish channel1 "hello"
psubscribe channel*
9. 服务器信息、持久化
info # 查看redis信息(内存、持久化、连接)
info memory # 只看内存
info persistence # RDB/AOF
bgsave # 后台生成RDB快照
bgrewriteaof # AOF重写
flushdb # 清空当前数据库(慎用)
flushall # 清空全部数据库(慎用!)
client list # 查看客户端连接
client kill ip:port # 踢掉连接
10. Shell批量命令 & Docker内操作
# shell直接执行单条redis命令
redis-cli get name
redis-cli exists key1
# docker容器操作
docker exec -it redis redis-cli
docker exec redis redis-cli set name test