String类型
redis最基础的数据结构,也是最经常使用到的类型,其他四种类型多多少少都是在字符串类型的
基础上设计而来
1:set key value [ex 秒数] [px 毫秒数]:设置一个key,并...
String类型
redis最基础的数据结构,也是最经常使用到的类型,其他四种类型多多少少都是在字符串类型的
基础上设计而来
1:set key value [ex 秒数] [px 毫秒数]:设置一个key,并指定他的过期时间,注意,秒数和毫
秒数不能同时存在,否则已毫秒数为主
2:mset key1 value1 key2 value2......keyn valuen:一次性设置多个key
3:mget key1 key2....keyn:一次性获取多个key
4:setrange key offset value :修改指定key,从指定的start位置开始,改成指定的str,如:
setrange word 2 ds;
5:append key value :在指定的key后面追加值
6:getrange key start end:获取指定key中的start至end间的值,若为负数则是从后往前数
7:getset key newvalue:获取并返回旧值,同时设置新值
8:incr key:针对整形数字,每访问一次则加一
9:decr key:针对整形数字,每访问一次则减一
10:incrby key int:针对整形数字,每访问一次则增加对应的数字
11:decrby key int:针对整形数字,每访问一次则减少对应的数字
注:incr与decr可用于秒杀设计的时候使用,一般面试会问到,该类型存储的是无符号的数
字,就是不能为小于0
12:incrbyfloat key number:将值当做浮点数来处理
List数据类型
List数据类型指key对应中的value是一个双向链表结构
1、lpush key value:将值插入到链表头部,可以同时插入多个值
2、rpush key value:将值插入到链表尾部,可以同时插入多个值
3、lrange key start stop:返回链表中start到stop中的元素,规律,左数从0开始,又数从-1开始,若想返回全部元素:lrange key 0 -1
4、lpop key:返回第一个元素,并从链表中删除
5、rpop key:返回最后一个元素,并从链表中删除
6、lrem key count value:从key链表中删除value值,删除数量为count,count为正数从头往尾删除,负数则从尾往头删除
7、ltrim key start stop:截取链表中start到stop段,并把该段重新赋给key
8、lindex key index:返回索引index的值
9、llen key:返回链表的长度
10、linsert key after searchValue value:在链表中寻找指定的value,找到后在该value后插入一个值
11、linsert key before searchValue value:在链表中寻找指定的value,找到后在该value前插入一个值
12、rpoplpush link1 link2:取出link1链表中的最后一个元素放入到link2中的头部,重点,可以用来构建一个安全的队列
13、brpop key timeout:等待弹出key的尾元素,timeout为等待超时时间,为0则一直等待
14、blpop key timeout:等待弹出key的头元素,timeout为等待超时时间,为0则一直等待
15、brpop与blpop可以用于在线聊天时
链表可以实现消息队列功能,减轻数据库的压力,先用 rpush 命令把消息放进队列尾部,然后用lpop命令把消息从队列头部取出