目录
4 mset key1 value1 [key2 value2……]
首先Redis是一个key-value型的数据库,因此这个string指的是value的类型,注意,在redis里面key的值都是string型的。
string 的常用操作
1 set key value
set key 的值,例如 set age 17 ,即将age的值设置为17。
在将set age 17之后,我们再执行set age 18 这时候age的值就变为了18,因为再redis里面key相当于一个主键,具有唯一性。
2 get
get可以通过key值获取到相应的value,如上图,可以通过get age 获取到age对应的值为18.
3 getset key value
将key设置为value,并返回key的旧值,如下所示:
4 mset key1 value1 [key2 value2……]
mset即mutiple set,同时设置一个或者多个key-value对,如下所示:
设置了两个key-value对:name zhangsan和sex male
5 get key1[key2 ……]
获取多个key对应的value,如上图所示。
6 incr key
如果key对应的value里存放着的是数字,那么可以将value的值加1.
如上图,将age的值加了1.
7 decr key
将key中对应的value值减1
8 incrby key increment
将key所对应的值加上给点给的增量值(increment)
9 incrbyfloat key increment
将key对应的值加上给定的浮点增量(increment)。
10 decrby key increment
将key对应的值减去对应的increment
11 append key value
如果key已经存在并且是一个字符串,append将value追加到原来value值的末尾,如下:
12 setex key senconds value
将value的值关联到key,并将key的国企时间设置为senconds秒
我们再get name之前等待10秒,可以发现name zhangsna的键值对已经不存在了,如果再十秒之内进行获取,还是能获取到的,十秒之后将会被清除。
13 setnx key value
只有key不存在时设置key 的值。
14 strlen key
返回key所存储的字符串的长度
15 getrange key start end
返回key中字符串的子字符
string类型的一个业务场景
相信大家对微信投票都不陌生吧,一般情况下我们都是一天只能投一次,不能一直点,那么怎么处理这个业务呢?
解决方案是:将投票人的相关信息(微信号等)记录到redis中,并且为数据通过setex设置时效信息(24小时),再投票之前先去查找微信号是否出现在数据库当中,如果出现,就不能进行投票。同时,由于信息设置了时效,因此在24小时过去之后,投票人的相关信息从redis中抹去,就可以继续进行投票等操作了,这样可以保证一天一个人只能投票一次。