在redis中主要有5种数据结构,今天我们这篇文章介绍下string类型的数据结构。
string类型的数据结构是我们在工作中最常用的数据结构,比如我们进入到redis中。
set name zhangsan
这里就代表的是设置一个key为name的字段,value为zhangsan的值。
上面我们设置了key,那么我们可以根据key进行值的获取。
get name
这个就代表根据key为name的字段进行取值
可以看到获取到了刚才设置的值。同时我们的value字段就是string的类型,直接可以在命令行看到明文的内容。
与此同时,我们还可以一次性保存多个数据,在前面我们设置单个数据使用的是set,批量设置的话,我们就需要使用mset。例如:
mset id 5 name lisi age 15
这里我们使用mset命令设置了3对键值对,并且也可以看到设置成功了。
既然我们可以同时设置多个键值对,那么我们肯定也是可以同时获取多个键的值,同样对应的也是使用mget方法。例如:
mget id name age
我们还可以根据strlen命令获取某个key对应的值的字符串长度,例如:
strlen age
这里age的值是15,所以字符串长度是2。
在前面我们使用set同一个key的时候,例如:set name zhangsan 再执行一遍 set name lisi 那么我们最后得到的结果就是lisi,也就是说使用set命令的时候,对于相同的key,后面执行的命令的值会覆盖掉前面的key对应的值。所以如果我们不想被覆盖怎么办呢? 那么可以使用append命令。
这个append命令是当key不存在的时候就会创建,key在的话,就会在前一个值后面进行字符串追加,例如:
append name zhangsan
此时name不存在,则创建name并赋值zhangsan,在执行下
append name lisi
则直接在zhangsan后面追加lisi,最后的结果是 zhangsanlisi
在工作中还有一种常见的是我们给某个key设置一个过期时间,key过期后,这个key就会在redis里面自动消失,那么怎么做呢?
有两种解决办法,第一种是使用setex命令,语法结构是:
setex key seconds value
第二种是使用psetex命令,语法结构是:
psetex key milliseconds value
可以看出两个的区别,一个是以秒为单位,一个是以毫秒为单位。
例如:
setex name 10 zhangsan psetex age 1000 15
最后 如果是需要删除的话,则使用del命令即可,例如:
set foo bar get foo del foo get foo
以上就是基于redis的string类型的数据结构的用法。
还没有评论,来说两句吧...