当前位置:嗨网首页>书籍在线阅读

02-热身

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

3.1 热身

在介绍Redis的数据类型之前,我们先来了解几个比较基础的命令作为热身,赶快打开redis-cli,跟着样例亲自输入命令来体验一下吧!

1.获得符合规则的键名列表

KEYS pattern
  • pattern *支持glob风格通配符格式,具体规则如表3-1所示。
表3-1 glob风格通配符规则

| 符 号 | 含  义 | | :----- | :----- | :----- | :----- | | ? | 匹配一个字符 | | * | 匹配任意个(包括0个)字符 | | [ ] | 匹配括号间的任一字符,可以使用“-”符号表示一个范围,如 a[b-d] 可以匹配“ab”、“ac”和“ad” | | \x | 匹配字符 x ,用于转义符号。如要匹配“?”就需要使用 \? |

现在Redis中空空如也(如果你从第2章开始就一直跟着本书的进度输入命令,此时数据库中可能还会有个 foo 键),为了演示 KEYS 命令,首先我们得给Redis加点料。使用 SET 命令(会在3.2节介绍)建立一个名为 bar 的键:

redis>SET bar 1
OK

然后使用 KEYS *就能 获得Redis中所有的键了(当然由于数据库中只有一个bar键,所以 KEYS ba* 或者 KEYS bar等命令 都能获得同样的结果):

redis>KEYS *
1) "bar"

注意

KEYS命令需要遍历Redis中的所有键,当键的数量较多时会影响性能,不建议在生产环境中使用。

提示

Redis不区分命令大小写,但在本书中均会使用大写字母表示Redis命令。

2.判断一个键是否存在

EXISTS key

如果键存在则返回整数类型1,否则返回0。例如:

redis>EXISTS bar
(integer) 1
redis> EXISTS noexists
(integer) 0

3.删除键

DEL key [key …]

可以删除一个或多个键,返回值是删除的键的个数。例如:

redis>DEL bar
(integer) 1
redis>DEL bar
(integer) 0

第二次执行 DEL 命令时因为 bar 键已经被删除了,实际上并没有删除任何键,所以返回0。

技巧

DEL命令的参数不支持通配符,但我们可以结合Linux的管道和 xargs 命令自己实现删除所有符合规则的键。比如要删除所有以“ user: ”开头的键,就可以执行 *redis-cli KEYS "user:*"|xargs redis-cli DEL 。另外由于 DEL 命令支持多个键作为参数,所以还可以执行 redis-cli DEL``redis-cli KEYS "user:" 来达到同样的效果,但是性能更好。

4.获得键值的数据类型

TYPE key

TYPE 命令用来获得键值的数据类型,返回值可能是 string (字符串类型)、 hash (散列类型)、 list (列表类型)、 set (集合类型)、 zset (有序集合类型)。例如:

redis>SET foo 1
OK
redis>TYPE foo
string
redis>LPUSH bar 1
(integer) 1
redis>TYPE bar
list

LPUSH 命令的作用是向指定的列表类型键中增加一个元素,如果键不存在则创建它,3.4节会详细介绍。