首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【Redis】Redis常用命令及用法

【Redis】Redis常用命令及用法

作者头像
master336
发布2026-06-15 19:45:22
发布2026-06-15 19:45:22
850
举报
目录
  • 服务相关
    • 服务端
    • 客户端连接与信息查询
  • 测试
    • 性能测试
  • key 相关
  • 数据类型
    • string相关
    • list相关
    • set相关
    • hash相关
    • zset相关
  • 事务支持
  • 发布与订阅

服务相关

服务端

命令

说明

redis-server

前台启动

redis-server &

后台启动

redis-server redis.conf &

指定配置文件启动redis服务

客户端连接与信息查询

命令

说明

redis-cli

默认连接127.0.0.1(本机)的6379端口上的redis服务

redis-cli -p 端口号

连接127.0.0.1(本机)的指定端口上的redis服务

redis-cli -h ip地址 -p 端口

连接指定ip主机上的指定端口的redis服务 (-a 指定密码)

exit 、quit

退出客户端(在客户端执行命令)

redis-cli shutdown

关闭redis服务,亦可登录客户端后执行

ping

测试连接状态,正常返回:pong

info

查看redis服务的所有统计信息

info [信息段]

查看redis服务器的指定的统计信息,如:info Replication

select index

切换数据库,默认16个,无法指定名称

dbsize

看当前数据库实例中所有key的数量

keys *

查看当前数据库实例中所有的key

flushdb

清空数据库实例

flushall

清空所有的数据库实例

config get *

查看redis中所有的配置信息

config get parameter

查看redis中的指定的配置信息

slaveof host port

设置从属节点

slaveof no one

断开主从关系

测试

性能测试

redis-benchmark.sh 测试redis服务的性能:

key 相关

命令

说明

keys pattern

查看数据库中的key*:匹配0个或者多个字符?: 匹配1个字符[]:匹配[]里边的1个字符

exists key

判断key在数据库中是否存在,如果存在,则返回1;如果不存在,则返回0

exists key [key key …]

返回值是存在的key的数量

move key index

移动指定key到指定的数据库实例

ttl key

查看指定key的剩余生存时间;如果key没有设置生存时间,返回-1,如果key不存在,返回-2

expire key seconds

设置key的最大生存时间(秒)

type key

查看指定key的数据类型

rename key newnamekey

重命名key

del key [key key …]

删除指定的key,返回值是实际删除的key的数量

数据类型

Redis 以key-value形式访问数据,数据结构包括:string、list、set、hash、zset

string相关

命令

说明

set key value

将string类型的数据设置到redis中

get key

从redis中获取string类型的数据

append key value

追加字符串;返回追加之后的字符串长度;如果key不存在,则新创建一个key,并且把value值设置为value

strlen key

获取字符串数据的长度

incr key

将字符串数值进行加1运算,返回加1运算之后的数据;如果key不存在,首先设置一个key,值初始化为0,然后进行incr运算要求key所表示value必须是数值,否则,报错

decr key

将字符串数值进行减1运算,返回减1运算之后的数据;如果key不存在,首先设置一个key,值初始化为0,然后进行decr运算要求key所表示value必须是数值,否则,报错

incrby key num

将字符串数值进行加num运算,返回加num运算之后的数据;如果key不存在,首先设置一个key,值初始化为0,然后进行incrby运算要求key所表示value必须是数值,否则,报错

decrby key num

将字符串数值进行减num运算,返回减num运算之后的数据;如果key不存在,首先设置一个key,值初始化为0,然后进行decrby运算要求key所表示value必须是数值,否则,报错

getrange key startIndex endIndex

闭区间获取字符串key中从startIndex到endIndex的字符组成的子字符串下标自左至右,从0开始,依次往后,最后一个字符的下标是字符串长多-1字符串中每一个下标也可以是负数,负下标表示自右至左,从-1开始,依次往前,最右边一个字符的下标是-1

setrange key startIndex value

用value覆盖从下标为startIndex开始的字符串,能覆盖几个字符就覆盖几个字符

setex key seconds value

设置字符串数据的同时,设置它最大生命周期

setnx key value

设置string类型的数据value到redis数据库中,当key不存在时设置成功,否则,则放弃设置

mset key1 value1 [key2 value3] [ …]

批量将string类型的数据设置到redis中

mget key1 [key2] [ …]

批量从redis中获取string类型的数据

msetnx key1 value1 [key2 value3] [ …]

批量设置string类型的数据value到redis数据库中当所有key都不存在时设置成功,否则(只要有一个已经存在),则全部放弃设置

list相关

命令

说明

lpush key value [value value …]

将一个或者多个值依次插入到列表的表头(左侧)例:lpush list01 1 2 3 结果:3 2 1

lrange key startIndex endIndex

获取指定列表中指定下标区间的元素(从左往右0开始,从右往左-1开始)例:lrange list1 0 -1 结果:5 4 3 2 1

rpush key value [value value …]

将一个或者多个值依次插入到列表的表尾(右侧)例:rpush list2 a b c 结果:a b c

lpop key

从指定列表中移除并且返回表头元素

rpop key

从指定列表中移除并且返回表尾元素

lindex key index

获取指定列表中指定下标的元素

llen key

获取指定列表的长度

lrem key count value

根据count值移除指定列表中跟value相等的数据count>0:从列表的左侧移除count个跟value相等的数据count<0:从列表的右侧移除count个跟vlaue相等的数据count=0:从列表中移除所有跟value相等的数据

ltrim key startIndex endIndex

截取指定列表中指定下标区间的元素组成新的列表,并且赋值给key

lset key index value

将指定列表中指定下标的元素设置为指定值

linsert key before/after pivot vlaue

将value插入到指定列表中位于pivot元素之前/之后的位置

set相关

命令

说明

sadd key value [value value …]

将一个或者多个元素添加到指定的集合中,返回成功加入的元素的个数如果元素已经存在,则会忽略;

smembers key

获取指定集合中所有的元素

sismember key member

判断指定元素在指定集合中是否存在,1)存在,0)不存在

scard key

获取指定集合的长度

srem key member [member …]

移除指定集合中一个或者多个元素,返回成功成功移除的个数不存在的元素会被忽略

srandmember key [count]

随机获取指定集合中的一个或者多个元素count>0:随机获取的多个元素之间不能重复count<0: 随机获取的多个元素之间可能重复count=0: 返回空不带count:随机返回1个

spop key [count]

从指定集合中随机移除一个(不带count)或者多个元素

smove source dest member

将指定集合中的指定元素移动到另一个元素

sdiff key1 key2 [key3 key4 …]

获取差集;第一个集合中有、但是其它集合中都没有的元素组成的新集合

sinter key1 key2 [key3 key4 …]

获取交集;所有指定集合中都有的元素组成的新集合

sunion key1 key2 [key3 key4 …]

获取并集;所有指定集合中所有元素组成的大集合

hash相关

命令

说明

hset key filed1 value1 [field2 value2 …]

将一个或者多个field-vlaue对设置到哈希表中如果key field已经存在,把value会把以前的值覆盖掉

hget key field

获取指定哈希表中指定field的值

hmset key filed1 value1 [field2 value2 …]

批量将多个field-value对设置到哈希表中,同hset

hmget key field1 [field2 field3 …]

批量获取指定哈希表中的field的值

hgetall key

获取指定哈希表中所有的field和value

hdel key field1 [field2 field3 …]

从指定哈希表中删除一个或者多个field

hlen key

获取指定哈希表中所有的filed个数

hexists key field

判断指定哈希表中是否存在某一个field

hkeys key

获取指定哈希表中所有的field列表

hvals key

获取指定哈希表中所有的value列表

hincrby key field int

对指定哈希表中指定field值进行整数加法运算

hincrbyfloat key field float

对指定哈希表中指定field值进行浮点数加法运算

hsetnx key field value

将一个field-vlaue对设置到哈希表中,当key-field已经存在时,则放弃设置;否则,设置file-value:

zset相关

命令

说明

zadd key score member [score member …]

将一个或者多个member及其score值加入有序集合如果元素已经存在,则把分数覆盖

zrange key startIndex endIndex [withscores]

获取指定有序集合中指定下标区间的元素[显示分数]index>0: 从左往右,首位0index<0: 从右往左,首位-1

zrangebyscore key min max [withscores]

获取指定有序集合中指定分数区间(闭区间)的元素[显示分数]

zrem key member1 [member2 member3 …]

移出元素

zcard key

获取指定有序集合中所有元素的个数

zcount key min max

获取指定有序集合中分数在指定区间内的元素的个数

zrank key member

获取指定有序集合中指定元素的排名(排名从0开始)

zscore key member

获取指定有序集合中指定元素的分数

zrevrank key member

获取指定有序集合中指定元素的排名(按照分数从大到小的排名)

zrevrange key startIndex endIndex [withscores]

获取指定有序集合中指定下标区间的元素[显示分数] (按照分数从大到小的排名)index>0: 从左往右,首位0index<0: 从右往左,首位-1

zrevrangebyscore key min max [withscores]

获取指定有序集合中指定分数区间(闭区间)的元素[显示分数] (按照分数从大到小的排名)

事务支持

命令

说明

multi

用来标记一个事务的开始

exec

用来执行事务队列中所有的命令

discard

清除所有已经压入队列中的命令,并且结束整个事务

watch key

监控某一个键;当事务在执行过程中,此键代码的值发生变化,则本事务放弃执行;否则,正常执行

unwatch

放弃监控所有的键

redis的事务只能保证部分原子性

  • 如果一组命令中,有在压入事务队列过程中发生错误的命令,则本事务中所有的命令都不执行,能够保证事务的原子性。
  • 如果一组命令中,在压入队列过程中正常,但是在执行事务队列命令时发生了错误,则只会影响发生错误的命令,不会影响其它命令的执行,不能够保证事务的原子性。

发布与订阅

命令

说明

subscribe channel1 [channel2 …]

订阅一个或者多个频道的消息

publish channel message

将消息发布到指定频道

psubscribe pattern1 [pattern2 …]

订阅一个或者多个频道的消息,频道名支持通配符如 news.*

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2026-06-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • 服务相关
    • 服务端
    • 客户端连接与信息查询
  • 测试
    • 性能测试
  • key 相关
  • 数据类型
    • string相关
    • list相关
    • set相关
    • hash相关
    • zset相关
  • 事务支持
  • 发布与订阅
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档