Redis的五大数据类型以及key的相关操作命令
Redis的五大数据类型
redis的数据都是以key/value
存储,所以说,五大类型指的是value
的数据类型
String
字符串,作为redis的最基本数据类型
redis中的string类型是二进制安全,即它可以保存任何数据,比如一张图片序列化为一段二进制字符串
redis的string类型大小上限是512M
List
简单有序字符串列表,安装插入的顺序排序。
在redis中,我们可以选择性是从list的同步还是尾部插入元素。在获取list里面的元素的时候,
也可以选择性是从头部还是尾部弹出元素
Hash
类似于java中Map,键值对集合。很适合存储java中的对象
Set
无序的字符串列表,set中的元素不允许重复值
ZSet
和set一样是字符串的集合,不同的是zset中每个元素会关联一个double类型的分数,zset中元素是唯一的,
但是每个元素关联的分数允许重复
Redis的key相关命令
set
表示插入一条记录
>set key value
ok
del
删除一个存在的key
127.0.0.1:6379> del name
(integer) 1
1表示数据删除成功,影响的条目
dump
可以序列化指定的key,并返回系列后的值
exists
判断一个指定的key是否存在
127.0.0.1:6379> exists name
(integer) 1
127.0.0.1:6379> exists age
(integer) 0
1表示存在一个,0表示不存在
expire
可以给key设置有效期,有效期之后,key会销毁
单位以秒计
127.0.0.1:6379> expire name 10
(integer) 1
ttl
查看一个key的剩余有效期
127.0.0.1:6379> ttl name
(integer) 42
127.0.0.1:6379>
返回值就是剩余秒数,如果是-1,说明给key没有过期时间,如果是-2,说明这个key已经不存在了
persist
移出给定key的有效期
127.0.0.1:6379> ttl name
(integer) 93
127.0.0.1:6379> persist name
(integer) 1
127.0.0.1:6379> ttl name
(integer) -1
pexpire
设置过期时间,毫秒单位
pttl
获取过期时间,单位是毫秒
keys
获取满足条件的所有key
127.0.0.1:6379> keys na*
1) "name2"
2) "name"
注意,返回的不是key的值,而是key的名字
type
获取给定的key存储的数据类型
127.0.0.1:6379> type name
string
rename
修改key的名称
127.0.0.1:6379> rename name username
OK
127.0.0.1:6379> get name
(nil)
127.0.0.1:6379> get username
"jack"
127.0.0.1:6379>
randomkey
随机返回一个key
127.0.0.1:6379> randomkey
"test15035"
返回的是key的名称
flushall
清除某个db中的所有key