Redis常用命令

一、基础命令:

启动Redis客户端:
redis-cli

身份验证(若配置了密码):
auth password

测试连接是否正常:
ping

退出 Redis 客户端连接:
exit或quit

输出指定的字符串(常用于测试客户端与服务端通信):
echo message

获取Redis服务的各类信息:
info [section]

返回当前Redis服务的Unix时间戳(秒)和微秒数:
time

Redis 性能测试工具:
redis-benchmark [options] [command]
查看指定命令组的帮助信息:
help @组名

列出Redis服务支持的所有命令(返回命令列表及格式):
command

返回Redis服务支持的命令总数:
command count

分析指定命令的参数,提取其中的键名(用于命令解析场景):
command getkeys command [arg ...]

获取指定命令的详细信息(如参数个数、权限、标识等):
command info command [command ...]
设置Redis配置参数(部分参数需重启生效,部分实时生效):
config set parameter value

获取Redis配置参数的值(支持通配符*,如 config get *maxmemory*):
config get parameter

将当前生效的配置写入配置文件(持久化配置,避免重启丢失):
config rewrite

重置Redis的统计信息(如命令执行次数、连接数等,不影响核心数据):
config resetstat
终止指定的客户端连接(通过IP:端口或客户端ID):
client kill addr:port|id client-id

列出所有当前连接的客户端信息(如地址、状态、命令数等):
client list

为当前客户端设置名称(便于识别,如 "app-user-service"):
client setname client-name

获取当前客户端的名称(未设置则返回空):
client getname

暂停所有客户端命令执行(指定时间,单位毫秒),常用于数据迁移:
client pause milliseconds

二、Key类型命令

删除一个或多个键:
del key [key ...]

检查键是否存在(返回存在的键数量):
exists key [key ...]

为键设置过期时间(秒):
expire key seconds

查看键的剩余过期时间(秒,-1永不过期,-2已过期/不存在):
ttl key

移除键的过期时间,使其永久存在:
persist key

查找符合模式的所有键(谨慎使用,可能阻塞服务):
keys pattern

将键移动到指定数据库:
move key db

随机返回当前数据库中的一个键:
randomkey

重命名键(若新键存在则覆盖):
rename key newkey

仅当新键不存在时重命名键:
renamenx key newkey

查看键对应的值类型:
type key

切换到指定数据库(默认0-15):
select 1

查看当前数据库的键数量:
dbsize

清空当前数据库的所有键:
flushdb

清空所有数据库的所有键:
flushall

三、String类型命令

设置键值对,支持可选参数(EX/PX/NX/XX):
set key value [EX seconds|PX milliseconds|NX|XX]

设置键值对并指定过期时间(秒):
setex key seconds value

仅当键不存在时设置键值对:
setnx key value

获取键的值:
get key

批量设置多个键值对:
mset key value [key value ...]

批量设置多个键值对(仅当所有键都不存在时执行):
msetnx key value [key value ...]

批量获取多个键的值:
mget key [key ...]

从指定索引开始覆盖字符串的部分内容:
setrange key offset value

获取字符串从start到end索引的子串(包含两端):
getrange key start end

对字符串的指定位设置值(0或1):
setbit key offset value

获取字符串指定位的值(0或1):
getbit key offset

获取键的旧值并设置新值(原子操作):
getset key value

对整数值原子自增1:
incr key

对整数值按步长原子自增:
incrby key increment

对浮点数值按步长原子自增:
incrbyfloat key increment

对整数值原子自减1:
decr key

对整数值按步长原子自减:
decrby key decrement

获取字符串的长度:
strlen key

向字符串末尾追加内容:
append key value

四、Hash 类型命令

为哈希表设置字段和值(字段存在则覆盖):
hset key field value

仅当哈希表中字段不存在时,设置字段和值:
hsetnx key field value

获取哈希表中指定字段的值:
hget key field

批量为哈希表设置多个字段和值:
hmset key field value [field value ...]

批量获取哈希表中多个字段的值:
hmget key field [field ...]

获取哈希表中所有字段和对应的值:
hgetall key

获取哈希表中所有字段名:
hkeys key

获取哈希表中所有字段值:
hvals key

对哈希表中指定字段的整数值按步长原子自增:
hincrby key field increment

对哈希表中指定字段的浮点数值按步长原子自增:
hincrbyfloat key field increment

删除哈希表中一个或多个字段:
hdel key field [field ...]

获取哈希表中字段的数量:
hlen key

检查哈希表中指定字段是否存在(1存在,0不存在):
hexists key field

迭代哈希表中的字段和值(用于大数据量安全遍历):
hscan key cursor [MATCH pattern] [COUNT count]

五、List 类型命令

向列表左侧(头部)添加一个或多个元素:
lpush key element [element ...]

移除并返回列表左侧(头部)的第一个元素:
lpop key

向列表右侧(尾部)添加一个或多个元素:
rpush key element [element ...]

移除并返回列表右侧(尾部)的第一个元素:
rpop key

仅当列表存在时,向其左侧添加一个或多个元素:
lpushx key element [element ...]

仅当列表存在时,向其右侧添加一个或多个元素:
rpushx key element [element ...]

返回列表中从start到stop索引范围内的元素(包含两端,索引从0开始,负数表示倒数):
lrange key start stop

阻塞式移除并返回第一个非空列表的左侧第一个元素,超时时间为timeout秒:
blpop key [key ...] timeout

阻塞式移除并返回第一个非空列表的右侧第一个元素,超时时间为timeout秒:
brpop key [key ...] timeout

阻塞式从source列表右侧弹出元素并推入destination列表左侧,超时时间为timeout秒:
brpoplpush source destination timeout

从source列表右侧弹出元素并推入destination列表左侧(非阻塞):
rpoplpush source destination

返回列表中指定索引位置的元素:
lindex key index

返回列表的长度(元素个数):
llen key

从列表中删除count个值为value的元素(count>0从左删,count<0从右删,count=0删除所有):
lrem key count value

保留列表中从start到stop索引范围内的元素,删除其他元素:
ltrim key start stop

将列表中指定索引位置的元素设置为新值:
lset key index value

在列表中pivot元素的前面(BEFORE)或后面(AFTER)插入element元素:
linsert key BEFORE|AFTER pivot element

六、Set 类型命令

向集合中添加一个或多个元素:
sadd key member [member ...]

从集合中移除一个或多个元素:
srem key member [member ...]

返回集合中元素的数量:
scard key

检查元素是否是集合的成员(1是,0否):
sismember key member

返回集合中的所有元素:
smembers key

返回多个集合的交集(共同拥有的元素):
sinter key [key ...]

将多个集合的交集存储到destination集合中:
sinterstore destination key [key ...]

返回第一个集合与其他集合的差集(只在第一个集合中存在的元素):
sdiff key [key ...]

将第一个集合与其他集合的差集存储到destination集合中:
sdiffstore destination key [key ...]

返回多个集合的并集(所有集合中的元素,去重):
sunion key [key ...]

将多个集合的并集存储到destination集合中:
sunionstore destination key [key ...]

随机返回集合中的count个元素(默认1个,不会删除元素):
srandmember key [count]

随机移除并返回集合中的count个元素(默认1个):
spop key [count]

将元素从source集合移动到destination集合:
smove source destination member

迭代集合中的元素(用于大数据量安全遍历):
sscan key cursor [MATCH pattern] [COUNT count]

七、Sorted Set 类型命令

向有序集合中添加一个或多个元素(member及其score):
zadd key [NX|XX] [CH] [INCR] score member [score member ...]

从有序集合中移除一个或多个元素:
zrem key member [member ...]

移除有序集合中按字典序在min和max范围内的元素:
zremrangebylex key min max

移除有序集合中排名在start到stop范围内的元素:
zremrangebyrank key start stop

移除有序集合中分数在min到max范围内的元素:
zremrangebyscore key min max


返回有序集合中指定元素的分数:
zscore key member

返回有序集合中指定元素的排名(按分数升序,从0开始):
zrank key member

返回有序集合中元素的数量:
zcard key

返回有序集合中分数在min到max范围内的元素数量:
zcount key min max

计算有序集合中按字典序在min和max范围内的元素数量:
zlexcount key min max

为有序集合中指定元素的分数加上增量(可正负):
zincrby key increment member

返回有序集合中排名在start到stop范围内的元素(按分数升序):
zrange key start stop [WITHSCORES]

返回有序集合中按字典序在min和max范围内的元素:
zrangebylex key min max [LIMIT offset count]

返回有序集合中分数在min到max范围内的元素(按分数升序):
zrangebyscore key min max [WITHSCORES] [LIMIT offset count]

计算多个有序集合的差集、交集、并集:
zdiff numkeys key [key ...] [WITHSCORES]
zinter numkeys key [key ...] [WITHSCORES]
zunion numkeys key [key ...] [WITHSCORES]

将多个有序集合的差集、交集、并集存储到destination中:
zdiffstore destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]
zinterstore destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]
zunionstore destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]

返回有序集合中排名在start到stop范围内的元素(按分数降序):
zrevrange key start stop [WITHSCORES]

返回有序集合中分数在max到min范围内的元素(按分数降序):
zrevrangebyscore key max min [WITHSCORES] [LIMIT offset count]

返回有序集合中指定元素的排名(按分数降序,从0开始):
zrevrank key member

迭代有序集合中的元素(用于大数据量安全遍历):
zscan key cursor [MATCH pattern] [COUNT count]

八、其他命令

HyperLogLog 类型命令及说明:
向HyperLogLog结构中添加一个或多个元素:pfadd key element [element ...]
返回HyperLogLog结构中基数的近似值(不重复元素的数量):pfcount key [key ...]
将多个HyperLogLog结构合并到一个新的HyperLogLog结构中:pfmerge destkey sourcekey [sourcekey ...]


发布订阅命令及说明:
订阅一个或多个频道,接收这些频道的消息:subscribe channel [channel ...]
取消订阅一个或多个频道(不指定频道则取消所有订阅):unsubscribe [channel [channel ...]]
订阅与给定模式匹配的所有频道(支持通配符*):psubscribe pattern [pattern ...]
取消订阅与给定模式匹配的频道(不指定模式则取消所有模式订阅):punsubscribe [pattern [pattern ...]]
查看订阅相关的信息,如活跃频道、订阅数等:pubsub subcommand [argument [argument ...]]
向指定频道发送消息:publish channel message


事务命令及说明:
标记一个事务块的开始,后续命令会被放入队列等待执行:multi
执行事务块中所有排队的命令(按入队顺序执行),若事务执行过程中发生错误,已执行的命令不会回滚:exec
取消当前事务,清空队列中所有等待执行的命令:discard
监视一个或多个键,若在事务执行前这些键被修改,则事务会被打断(不执行):watch key [key ...]
取消对所有键的监视:unwatch

异步重写AOF文件(优化AOF体积,不阻塞主进程):bgrewriteaof
异步生成RDB快照(后台执行,不阻塞主进程):bgsave
同步生成 RDB 快照文件(将当前数据库所有数据写入磁盘的 dump.rdb 文件):save
查看指定键的详细调试信息(如类型、编码、过期时间、引用计数等):debug object key
触发Redis服务段错误(仅用于调试,生产环境禁止使用,会导致服务崩溃):debug segfault
实时监控Redis服务接收并执行的所有命令(用于调试,会影响性能):monitor
操作慢查询日志(如查看慢查询、设置慢查询阈值,格式:slowlog subcommand,如 slowlog get 10)
slowlog subcommand [argument ...]
返回最近一次RDB快照生成的Unix时间戳:lastsave
同步生成RDB快照(阻塞主进程,直到快照完成,不建议生产环境使用):save
关闭Redis服务(可选参数:save 关闭前生成RDB,nosave 不生成RDB):shutdown [save|nosave]
查看Redis集群的槽位分配信息(主从节点与槽位对应关系):cluster slots
配置当前节点为指定主节点的从节点(用于主从复制,Redis 5.0+推荐用 replicaof):slaveof master-ip master-port
取消从节点身份(设置为独立节点):slaveof no one
查看当前节点在主从复制中的角色(master、slave 或 sentinel)及相关信息:role
主从节点间的同步命令(用于从节点请求主节点数据同步,Redis内部使用为主):sync

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值