一、String类型
String是redis 最基本的类型,最大能存储512MB的数据,String类型是二进制安全的,即可以存储任何数据、比如数字、图片、序列化对象等
SET/GET/APPEND/STRLEN
127.0.0.1:6379> set d1 1 #创建一个键 值
OK
127.0.0.1:6379> get d1 #获取键的值
"1"
127.0.0.1:6379> set d2 2
OK
127.0.0.1:6379> keys * #查看有哪些键 可联合d? 或d*使用
1) "d2"
2) "d1"
127.0.0.1:6379> set d1 12 #对于已有的会覆盖
OK
127.0.0.1:6379> get d1
"12"
127.0.0.1:6379> append d1 1 #追加键值
(integer) 3
127.0.0.1:6379> get d1
"121"
127.0.0.1:6379> append d3 32 #对于没有的键会创建
(integer) 2
127.0.0.1:6379> get d3
"32"
127.0.0.1:6379> exists d1 #判断键是否存在
(integer) 1
127.0.0.1:6379> exists d4
(integer) 0
127.0.0.1:6379> strlen d1 #判断键值长度
(integer) 3
INCR/DECR/INCRBY/DECRBY
incr key :key值递增1(key值必须为整数)
decr key:key值递减1(key值必须为整数)
decrby key 5 :key值递增5(key值必须为整数)
incrby key 5 :key值递减5 (key值必须为整数)
GETSET
getset key value:获取key的值并返回,同时给key设置新值
127.0.0.1:6379> get d1
"122"
127.0.0.1:6379> getset d1 0 #先返回旧值,在设定新值
"122"
127.0.0.1:6379> get d1
"0"
127.0.0.1:6379> getset d5 1 #对于没有的键,它也会创建
(nil)
127.0.0.1:6379> get d5
"1"
SETEX
setex key seconds value:设置指定的key过期的时间为多少秒
127.0.0.1:6379> setex d2 10 hello #设置d2过期时间为10秒
OK
127.0.0.1:6379> get d2 #时间范围内能够获取
"hello"
127.0.0.1:6379> ttl d2 #查看d2的生命周期
(integer) 5
127.0.0.1:6379> ttl d2
(integer) -2 #当为-2代表已经过期了,-1代表永不过期
127.0.0.1:6379> get d2
(nil) #过期了,就没有这个键值了 ,获取不到了
SETNX
setnx key value :键不存在的话执行set操作,存在就不执行
127.0.0.1:6379> keys *
1) "d3"
2) "d1"
3) "d5"
127.0.0.1:6379> get d3
"32"
127.0.0.1:6379> setnx d2 10 #没有的键,创建成功
(integer) 1
127.0.0.1:6379> get d2
"10"
127.0.0.1:6379> setnx d3 10 #有的键,创建失败
(integer) 0
127.0.0.1:6379> get d3
"32"
MSET/MGET/MSETNX
mset key value [key value...] :批量设置键值对
mget key [key ...] :批量获取键值对
msetnx key value [key value ...] :批量设置键值对,都不存在就执行并返回1;只要有一个存在就不执行并返回0
127.0.0.1:6379> keys *
1) "d2"
2) "d3"
3) "d1"
4) "d5"
127.0.0.1:6379> mset d4 4 d5 5 d6 6 #支持批量创建且覆盖
OK
127.0.0.1:6379> mget d4 d5 d6 #批量获取
1) "4"
2) "5"
3) "6"
127.0.0.1:6379> msetnx d6 7 d7 7 d8 8 #msetnx若其中已有的键,就不会执行创建 ,会对已有的键进行判断
(integer) 0
127.0.0.1:6379> get d7
(nil)
二、List数据类型
概述:列表的元素类型为string,按照插入顺序排序,在列表的头部或尾部添加元素
LPUSH/LPUSHX/LRANGE
lpush key value [value...] 在头部(左侧)依次插入列表元素
lpushx key value :键