2keys相关命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2keys相关命令相关的知识,希望对你有一定的参考价值。

redis的官网http://redis.io是学习redis的重要资源库,所有命令都分门别类的罗列在了这里http://redis.io/commands

 

1数据库选择命令:

SELECT index  //选择当前连接使用哪个数据库

 

默认配置下一个redis-server服务会开启16个数据库,其index位0~15,可以通过SELECT命令来选择使用哪个库,redis-cli连接默认使用0号库。

注意:redis命令都是作用在已选择的库上面。比如,你使用“SELECT 1”选择了1号库,那么随后的redis命令都是作用在这个库上面,eg.命令“KEYS *”只会列出1号库中所有的键。

 

2、与key相关的常用命令:

KEYS pattern         //列出所有与pattern匹配的“键”,支持glob-style pattern
TYPE key             //检测key的类型
EXISTS key [key ...]     //返回key列表中“键”存在的个数

/* 移动和删除 */
MOVE key db           //将当前数据库中key移动到db指定的数据库中
DEL key [key ...]       //删除列表中的key

/* 重命名相关 */
RENAME key newkey        //重命名
RENAMENX key newkey       //重命名,只有在newkey不存在的情况下才执行

/* 存活时间相关 */
EXPIRE key seconds      //设置key的存活时间,指定多少“秒”后失效
PEXPIRE key milliseconds   //设置key的存活时间,指定多少“毫秒”后失效
EXPIREAT key timestamp    //设置key的存活时间,使用“秒”绝对时间指定
PEXPIREAT key milliseconds-timestamp    //设置key存活时间,使用“毫秒”绝对时间指定

TTL key             //返回key剩余的存活时间,单位秒
PTTL key            //返回key剩余的存货时间,单位毫秒

 

3、命令使用和解析

①、KEYS pattern

功能:查找当前库中所有匹配pattern模式的key

时间复杂度:O(N),N为当前库中key的个数。如果当前库中存放的key非常多,则要慎用此命令。

pattern:支持glob-style模式:?匹配1个字符,*匹配0个或多个字符,[ae]匹配字符“a”或者是“e”,[^e]匹配“非e”外的任何一个字符,[a-c]匹配“a/b/c”中的任何一个字符,匹配特殊字符需要用反斜杠“\\”转义。

example:

 

②、TYPE key

作用:返回key的类型(Redis共有5大数据类型)。

example:

 

 

③、EXISTS key [key ...]

功能:返回key列表中“键”存在的个数。如果列表中只有一个key,则就是检查这个key是否存在。

时间复杂度:O(1)

example:

 

 

④、MOVE key db

功能:将当前数据库中的key移动到db指示的数据库中,db表示数据库编号

时间复杂度:O(1)

example

 

⑤、DEL key [key ...]

功能:删除列表中的key

时间复杂度: O(N),其中N表示列表中“实际落地的键值对”个数。删除一个string类型key的时间复杂度为 O(1),删除一个含有M个键值对的key(集合类型set,hash,list,sorted set)的时间复杂度为 O(M)。

example

 

⑥、RENAME key newkey

功能:将key重命名为newkey,注意:如果newkey存在,此操作会覆盖newkey的值。

时间复杂度:O(1)

example

 

⑦、REBANENX key newkey

功能:同RENAME,区别在于此命令只有在newkey不存在的情况下才执行。

 

⑧、TTL key / PTTL key

功能:都是检测key还能存活多长时间,区别在于TTL返回值的单位是“秒”,PTTL返回值的单位是“毫秒”。其返回值有三种状态:-2—不存在,-1—永久存活,大于0的值表示剩余存活时间。

时间复杂度:O(1)。

example

 

 

⑨、EXPIRE key seconds / PEXPIRE milliseconds

功能:指定key的存活时间。区别在于:前者的单位是“秒”,后者的单位是“毫秒”。

时间复杂度:O(1)

注意:如果不使用expire/pexpire/expireat/pexpireat指定key的生命周期,则默认为“永不过期”。

以上是关于2keys相关命令的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——git命令操作一个完整流程

VSCode自定义代码片段——cli的终端命令大全

VSCode自定义代码片段4——cli的终端命令大全

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

AJAX相关JS代码片段和部分浏览器模型