redis相关指令

本文介绍了Redis的常用命令,包括启动服务、客户端连接、ping命令、数据类型如String、List、Set和Zset的操作,以及键相关命令如exists、del、keys等。详细讲解了每个命令的使用方式和应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

redis相关指令

1、启动Redis服务:redis-server.exe --service-start
2、启动Redis客户端(默认端口:6279):redis-cli.exe -h 127.0.0.1 -p 6379
3、ping命令:可以使客户端向Redis服务器发送一个ping,如果服务器正常运作,会返回一个pong。通常用于测试客户端与服务器连接是否仍然生效

  ping "hello word"

4、Redis默认16个库,编号0到15
常见指令:
dbsize:查看当前库中key的个数
select dbnumber:切换到指定的库(0-15)、默认0号库
flushdb:清空当前库中的数据
5、Key相关命令:
exists key:测试指定key是否存在,返回1表示存在
del key1 key2…keyN:删除给定key,返回删除key的数目,0表示key都不存在
keys pattern:返回符合条件的key
key *:返回所有key
6、Redis数据类型-String(默认)
①set key value:设置key对应的值为String类型的value,如果key存在则覆盖原有值

 set name zhangsan

setnx key value:同上,如果key已经存在,则不做操作直接返回

setnx name zhangsan

②get key:获取key对应的string值,如果不存在返回nil

get name

mget key1 key2…keyn:一次获取多个值,不存在则返回nil

mget name address email

getset key value:设置key的值,并返回key的原有值,如果key原来又值,则覆盖原有值

getset address nanning

③mset key1 value1…keyN valueN:一次设置多个值,返回1表示所有值都设置了,失败返回0表示没有任何值被设置

mset name zhangsan address nanning mobile 110000000

msetnx key1 value1 key2 value2…keyN valueN:同上,但是不会覆盖已经存在的key
④incr key:对key的值做++操作并返回新的值

set number 0
incr number 

incrby key integer:同incr,加指定值

incrby number 6

⑤decr key:对可以的值做–操作,decr一个不存在的key,则设置key为-1

decr number
decr numbers 

decrby key integer:同decr,减去指定值

decr number 4 

⑥append key value:给指定的key的字符串追加value,返回新的字符串长度

append name san

⑦substr key start end:返回截取过的key的字符串值,但不修改原有字符串的值

substr name 1 3 

⑧setbit key offset value
setbit对key所存储的字符串值,设置或清除指定偏移量上的值
key就是当前需要设置的key
offset表示从左到右的偏移量(从0开始取值)
value取值为0或1
-把a变成b
a 97 0110 0001
b 98 0110 0010

set choice a
setbit choice 6 1
get choice
setbit choice 7 0
get choice 

第一天登录:>setbit student:001:login 0 1
第二天登录:>setbit student:001:login 1 0
查询001学生第二天是否登录:>getbit student:001:login 1 :0
查询001学生一共登录了多少天:>bitcount student:001:login
查询001学生1月登录了多少天:>bitcount student:001:login 0 30
7、List相关命令:Redis中的list为双向链表,每个子元素都是String类型的;list即可以用作栈,也可以用作队列
①添加元素(返回当前list的长度,如果列表不存在,则不做操作)
将一个或多个值插入到列表头部:lpush key value value1

lpush namelist zhangsan lisi wangwu

在列表中添加一个或多个值:rpush key value value1

rpush namelist zhangsan lisi wangwu

②返回列表中指定区间内的元素命令:

lrange namelist 0 -1

0表示列表的第一个元素,1表示显示所有元素
-1表示最后一个元素,-2表示倒数第二个元素
0 -1表示显示所有元素
③linsert key before|after pivot value:pivot表示需要插入的节点的值

linsert namelist before lisi xiaoming 

④lset设置list中指定下标的元素值:lset key index value(index表示节点位置,从0开始计数)

lset namelist 0 liangyuee

⑤lrem key count value
lrem:从key对应list中删除|count|个和value相同的元素
count>0时,按从头到尾的顺序删除
count<0时,按从尾到头的顺序删除
count=0时,删除全部

lrem namelist 2 zhangsan      //  删除两个zhangsan的元素

⑥弹出元素(返回当前list的长度)
从头部弹出key的值(删除):lpop key
从尾部弹出key的值(删除):rpop key
⑦从一个list的尾部弹出插入到另一个list的头部:rpoplpush source destination

rpoplpush namelist myname //将namelist尾部的元素弹出插入到myname当中

⑧获取list列表长度:llen key
通过索引获取列表中的元素:lindex key index

lindex namelist 1

8、set相关命令:set集合支持集合的增减操作,也支持集合的并集、交集、差集等运算;本质上是通过哈希实现,因此添加、删除、查找的复杂度都是0(1)
①给集合中添加一个或多个元素:sadd key value1 value2(set中不允许存放重复元素)

add students zhangsan lisi wangwu 

删除集合中一个或者多个元素:srem key value1 value2

srem students wangwu zhangsan 

查询集合中有多少个元素:scard key
获取集合中的所有元素:smembers key
判断成员是否在集合中存在:sismember key value

sismember students zhangsan

随机删除集合中的一个或多个元素值:spop key count

spop students 3

②返回给定集合之间的差集,差集的结果来自前面的key1:sdiff key1 key2 key3

sdiff class1 calss2 calss3

③sinter命令返回给定所有集合的交集,不存在的集合key被视为空集,当给定集合中有一个空集的时候,结果也为空集

sinter class1 class2 class3

④sunion命令返回给定集合的并集

sunion class1 class2 class3

9、zset相关命令:sorted set是有序集合
①每个元素都会关联一个double类型的分数,redis正是通过分数来为集合中的成员进行从小到大的排序
有序集合的成员是唯一的,但分数(score)却可以重复
②zadd向有序集合添加一个或多个成员,如果该元素已经存在,则根据score更新该元素的顺序:zadd key score1 member1 score2 member2
zadd chengji 100 zhangsan 77 lisi 99 wangwu
③zrem用于移除有序集中的一个或多个成员,不存在的成员将被忽略
zrem key member1 member2 member3

zrem chengji zhangsan

④zincrby命令如果在名称为key的zset中已经存在元素member,则该元素的score增加increment;否则向集合中添加该元素,其score的值为increment。
zincrby key increment member

zincrby chengji 50 wangwu

⑤zrank返回名称为key的zset中member元素的排名(按score从小到大排序)即下标
zrank key member

zrank chengji zhangsan

⑥zrevrank返回名称为key的zset中member元素的排名(按score从大到小排序)即下标
zrevrank key member

zrevrank chengji zhangsan
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值