跟着Redis入门指南学习
第三章 5种数据类型
3.1 热身
先了解几个比较基础的命令作为热身,打开redis-cli,跟着样例输入命令来体验下:
1.获取符合规范的健名列表
keys pattern
pattern支持glob风格通配符格式,具体规则如下:
符号 | 含义 |
? | 匹配一个字符 |
* | 匹配任意个(包括0个)字符 |
[] | 匹配括号间的任一字符,可以使用“-”符号表示一个范围,如a[b-d]可以匹配"ab","ac","ad" |
\x | 匹配字符x,用于转义符号。如要匹配"?"就需要使用\? |
<span style="font-family: Arial, Helvetica, sans-serif;">127.0.0.1:6379> select 1</span>
OK
127.0.0.1:6379[1]> keys *
(empty list or set)
//选择数据库
127.0.0.1:6379[1]> select 0
OK
//keys 命令 由于我的已经添加过健值 所以你的结果可能会和我不一样
127.0.0.1:6379> keys wjq
1) "wjq"
127.0.0.1:6379> keys test*
1) "testRem"
2) "testboard"
3) "testresult"
4) "test1"
5) "test2"
127.0.0.1:6379[1]> set bar 1
OK
127.0.0.1:6379[1]> keys *
1) "bar"
然后使用keys * 就能获取redis中所有的健,当健的数量较多时会影响性能,不建议在生产环境中使用。
提示:redis不区分命令大小写
2.判断一个健是否存在
exists key
如果健存在则返回整数类型1,否则返回0.如:
127.0.0.1:6379[1]> exists bar
(integer) 1
127.0.0.1:6379[1]> exists noexists
(integer) 0
3.删除健
del key [key ...]
可以删除一个或多个健,返回值是删除的健的个数。如
127.0.0.1:6379[1]> del bar
(integer) 1
127.0.0.1:6379[1]> 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(有序集合类型)。例如:
127.0.0.1:6379[1]> set foo 1
OK
127.0.0.1:6379[1]> type foo
string
127.0.0.1:6379[1]> lpush bar 1
(integer) 1
127.0.0.1:6379[1]> type bar
list
lpush 命令的作用是向指定的列表类型健中增加一个元素,如果健不存在则创建它,3.4节会详细介绍。
3.2 字符串类型
3.2.2 命令
1.赋值与取值
set key value
get key
set 和get 是redis中最简单的两个命令,他们实现的功能和编程语言中的读写变量相似,如key = “hello”在redis中是这样表示的:
127.0.0.1:6379[1]> set key hello
OK
127.0.0.1:6379[1]> get key
"hello"
当健不存在时会返回空结果。