文章目录
本文基于windows redis3.0所编写
- redishe memcached相比的独特之处
- redis可以用来做存储,而memcached是用来做缓存的,主要是因为redis有“持久化”的功能
- 存储的数据有“结构”,对于memcached来说,存储的数据,只有1中数据类型-“字符串”,而redis则可以存储字符串、链表、哈希结构、集合、有序集合
查询匹配key
- keys 条件 可以查询对应的key,而且可以进行模糊查询和精确查询
通配符有3个,* 、 [] 、 ?
*
: 匹配0个或多个字符
[]
:匹配括号内的字符
?
:匹配一个字符
随机返回一个key
randomkey
:随机返回一个key
查看key的类型
type key
:查看可以的类型
判断key是否存在
exists key
:判断key是否存在【1 :存在,0:不存在】
删除key
del key1 key2...
:删除多个key
对key重新命名
-
rename key newkey
:对key重新命名- 如果这个newkey已经存在了,就会想原来的值给覆盖掉
- 如果这个newkey已经存在了,就会想原来的值给覆盖掉
-
renamenx key newkey
:如果这个newkey是存在的,那么就会返回0【rename(rename not exists)】
默认情况下redis中有16个数据库
- 打开配置文件,搜索database,就会发现有"database 16",这个地方是可以进行更应该的,可以自行设置
移动key
move key database
:将key移动到对应编号的数据库,如将a移动到1号数据库,其语句为:move a 1
问题:在redis里面怎么更换这个数据库呢?
+ 使用select,而数据库的名字直接用编号代替,默认情况下进入的是0号数据库,如进入第1号数据库,其语句为:select 1
查询key的生命周期
由于redis是一个持久化存储的功能,而缓存是用完了就扔掉的,那么redis做缓存的时候就会对某些key设置一个有效期(生命周期),过了这个有效期就无法使用了。那么怎么设置生命周期?怎么查询生命周期呢?
-
查询生命周期:
ttl key
,其返回值是以秒(s)为单位的,比如查询b的生命周期,其语句为:ttl b
,结果返回了-1,原因是因为有如下规则:- 不存在的key,返回 -2;
- key存在,但没有设置过期时间,返回-1;
- key存在,且设置了过期时间,返回剩余生存时间
注意:在 Redis 2.8 以前,当 key 不存在,或者 key 没有设置剩余生存时间时,命令都返回 -1 。
设置key的生命周期
- 设置生命:
expire key 整型数值
。比如设置b的生命周期为6s,其语句为:expire b 6
pexpire key 毫秒,以毫秒为设置生命周期
pttl key ,以毫秒为单位返回生命周期
- 设置永久有效:
persist key
,可以把key设置为永久有效
以上就是redis对key的一些基本操作,如果文章或我的理解有误,请大佬及时告知,谢谢