Fork me on GitHub

Redis笔记之常用命令

 

keys

keys用来获取符合指定规则的键,keys的语法规则如下:

 keys <pattern>

比如最简单的全等匹配,下面这个命令只会匹配键值完全等于foo的:

127.0.0.1:6379> keys foo
1) "foo"

可以使用通配符*来匹配所有的键,下面这条命令可以用来查看所有的key:

127.0.0.1:6379> keys * 
1) "foo"
2) "foobar"

可以组合一下,比如查看包含foo的键值:

127.0.0.1:6379> keys foo*
1) "foo"
2) "foobar"

 

keys支持glob风格的通配符格式,glob格式是一种在shell下使用的通配符格式,类似于正则但没有正则那么强大,下面是一个支持列表:

?    匹配一个字符

*    匹配任意多个字符,包括0个字符也算数,有趣的是它是包含

[...]    匹配括号中任意一个字符,可以使用符号来表示一个范围,比如[a-z]

\x    用来匹配转义字符,比如?表示匹配一个字符,\?表示匹配字面值意义的问号?

 

exists

exists用于判断一个键是否存在,如果指定的键值存在的话返回1,否则返回0,当指定了多个key的时候返回值会累加,即返回的是找到的已存在的键的个数,语法格式是:

exists key [key ...]

需要注意的是exists不支持glob通配符模式。

判断单个的键是否存在:

127.0.0.1:6379> exists foo
(integer) 1

判断多个键值是否存在,会对每一个键值进行判断然后将结果累加返回,比如:

127.0.0.1:6379> exists foo foobar bar
(integer) 2

返回值为2表示exists后面指定的键值列表中有两个key是存在的。

 

set

set用于设置一个字符串类型的键,最简单的用法是:

set key value 

比如:

127.0.0.1:6379> set foo bar
OK

 

del

del用来删除已经存在的键,其返回值是被删除掉的键的个数,其语法如下:

del key [key ...]

比如用来删除单个的key:

127.0.0.1:6379> del foo
(integer) 1

用来删除多个key,返回的是被删除的key的个数,不存在的key不算数的:

127.0.0.1:6379> del foo foobar 
(integer) 1

 

使用glob匹配模式删除多个键

可以使用redis-cli来执行命令,shell中用飘号``围起来的部分会被执行,del又可以接受多个key,所以可以这样来使用glob匹配模式删除:

redis-cli -a nopasswd DEL `redis-cli -a nopasswd KEYS 'foo*'`

 

type

type用于获取键值的数据类型,

type key 

举个栗子:

127.0.0.1:6379> type foo
string

返回值为以下的一种:

string(字符串类型)、hash(散列类型)、list(列表类型)、set(集合类型)、zset(有序集合类型)。

 

 

.

posted @ 2017-09-01 22:42  CC11001100  阅读(438)  评论(0编辑  收藏  举报