Redis常用命令总结

本文详细介绍了Redis中的五大基本数据类型:String、List,包括各自的操作命令如set、get、lpush、rpop等,以及如何进行增删查改等操作。此外,还提到了Redis中对字符串进行追加、截取、更新等高级功能,以及列表的插入、弹出、范围查询等操作,是理解Redis数据操作的重要参考资料。
摘要由CSDN通过智能技术生成

redis五大基本数据类型及常用命令。

这里的五大基本数据类型针对的是key-value 中的value类型。


一,String。


set keyname value :增加一个key为keyname,value为value的键值对。需要注意,如果原来存在这个keyname,那么这里的增加实际上是先删除原来相同的keyname及其value,然后再新加这个keyname。所以会把原来键的过期时间这些也一起删除了。如果想保留原来的过期时间,用setrange代替set。

get keyname : 获取对应keyname的value。

setex keyname secends value :向redies数据库添加一个键值对,并设置过期时间为secend秒。

mset keyname value keyname2 value2...  : 这个用来一次增加多个键值对,需要注意的是,如果增加的键值对已经存在,那么会删除原来的键值对,重新添加。

mget keyname keyname2... : 这个指令用来一次获取多个key对于的value并返回。

setnx keyname value :这个指令也是用来增加一个键值对的,不过它会判断要增加的键值对是不是已经存在,已经存在的话,会插入失败。

msetnx keyname value keyname2 value2... : 这个指令也是一次插入多个键值对,不过如果插入的键名称有一个及以上已经存在,那么全部都会插入失败,原子性。

strlen keyname : 返回对应键名称的value的长度。

append keyname value : 向指定的key的value追加字符串,比如原来name=huchuan ,append name 123, 那name=huchuan123。

del keyname keyname2... : 删除多个对应键名称对应的键值对。

getrange keyname start end : 获取keyname对应的索引为start到end的字符串,和Java中的subString(start,end)不同的是,redies里的这个命令两边都是闭区间。

getrange keyname 0 -1 : 这个是获取对应keyname对应的从0开始到末尾的字符串,start开始,end为-1,表示从start开始到末尾的字符。

setrange keyname offset value : 这个指令是向keyname对应的键的value从offset索引后的值替换成value,和append类似,不过不会像set那样先删除,后增加。

incr keyname : 将对应的keyname的value的值加1,比如age=21,执行了incr age后,age=21。需要注意的是,对应keyname的value的值一定得是数值,不然会报错。

decr keyname :和incr相反,这个指令是用来对value值减1的。

incrby keyname incrment : 这个和incr类似,不过要更强大,强大在于它可以指定每次增加的值,即偏移量incrment。

decyby keyname incrment : 和decr类似,也是用来对value每次减去对应的值的。每次减去的值为incrment。


二,list。


lpush keyname value1 value2 value3... : 这个指令是用来添加一个list类型的key。从左边插入。

rpush keyname value1 value2 value3... : 向一个value为list的key从右边依次插入value。

lpop keyname : 从kename的values左边取出一个value。取出后,key里边会把这个value删除,只会删除一个,其它还会存在。

rpop keyname : 从kename的values右边取出一个value。取出后,key里边会把这个value删除,只会删除一个,其它还会存在。

rpoplpush source destination : 从keyname为source的values中从右边取出一个value,加入到keynaem为destination的values中。

lrange keyname start end : 这个是用来查询出索引从start开始,到end的值。两端都是闭区间。

lrem keyname count element : 从keyname对应的值中删除enement,count表示删除的个数。

lindex keyname index : 获取keyname对应的索引下标查找这个值并返回。

linsert keyname after/before pivot element : 在keyname对应的list中的elemnet元素的后边或者前边添加一个值(pivot)

llen keyname : 获取对应keyname对应list的长度。

lset keyname index element : 将keyname指定下标索引(index)的值替换成新的值(element)。

ltrem keyname start end : 修剪keyname的list,类似于String的subString(start,end),不过却是前后都是闭区间。

lpushx keyname element... : 这个指令和lpush差不多,区别在于这个指令需要对应的keyname存在,才添加,不然不会添加。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

soutv

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值