1. 入门
- 获得符合股则的键名列表
KEYS pattern
pattern支持glob风格通配符格式,具体规则如下
符号 | 含义 |
---|---|
? | 匹配一个字符 |
* | 匹配任意个(包括0个)字符 |
[] | 匹配括号间的任一字符,可以使用“-”符号表示一个范围,a[b-d]可以匹配“ab”、“ac”、“ad” |
\x | 匹配字符x,用于转义符号。如果匹配“?”就需要使用? |
- 判断一个键是否存在
EXISTS key
如果存在则返回整数类型1,否则返回0。
3. 删除键
DEL key [key …]
可以删除一个或多个键,返回值是删除的键的个数。
技巧 DEL 命令的参数不支持通配符。
- 获得键值的数据类型
TYPE key
TYPR 命令用来获得键值的数据类型,返回可能是string(字符串类型)、hash(散列类型)、list(列表类型)、set(集合类型)、zset(有序集合类型)。
2. 字符串类型
2.1 介绍
字符串类型是Redis中最基本的数据类型,它能存储任何形式的字符串,包括二进制数据。一个字符串类型键值允许存储的数据的最大容量是512MB。字符串类型是其他四种类型的数据类型基础,其他数据类型和字符串类型的差别从某种角度来说只是组织字符串的形式不同。
2.2 命令
- 赋值与取值
SET key value
GET key
SET和GET是Redis中最简单的两个命令,他们实现的功能和编程语言中的读写变量相似,如key=“hello” 在Redis中是这样表示的:
reids> SET key hello
ok
读取
redeis> GET key
"hello"
当键不存在是返回空结果。
- 递增数字
INCR key
前面说过字符串类型可以是存储任何形式的字符串,当存储的字符串是整数形式时,Redis提供了一个使用的命令INCR,其作用是让当前键值递增,并返回递增后的值,用法为:
redis> INCR num
(integer) 1
redis> INCR num
(integer) 2
当前操作的键不存在时会默认值为0,所以第一次递增后的结果是1.当键值不是整数时,Redis会提示错误:
redis> SET foo lorem
ok
redis> INCT foo
(error) ERR value is not an integer or out of range
注:包括 INCR在内的所有Redis命令都是原子操作。
2.3 命令拾遗
- 增加指定整数
INCRBY key incremet
INCRBY 命令与INCER 命令基本一样,只不过前者通过increment参数指定依次增加的数值,如:
redis> INCRBY bar 2
(integer) 2
redis> INCRBY bar 3
(integer) 5
- 减少指定的整数
DECR key
DECRBY key decrement
DECR命令与INCR命令语法相同,只不过是让键值递减。
- 增加指定浮点数
INCRBYFLOAT key increment
INCRBYFLOAT命令类似于INCRBY命令没差别是前者可以递增一个双精度浮点数,如:
redis> INCRBYFLOAT bar 2.7
"6.7"
- 向尾部追加值
APPEND key value
APPEDN 作用是向键值的末尾追加value。如果键值不存在则将键的值设置为value,即相当于SET key value。返回值是追加字符串的总长度。如:
redis> SET key hello
ok
redis> APPEND key " world!"
(integer) 11
- 获取字符串长度
STRLEN key
STRLEN 命令返回键值的长度,如果键不存在则返回0
6.同时获得/设置多个键值
MGET key [key …]
MSET key value [key value …]
MEGT/MSET 与GET/SET 相似,不过MEGT/MSET可以同时获得/设置多个键的值。如:
redis> MSET key1 v1 key2 v2 key3 v3
ok
redis> MGET key1 key2
1) "v1"
2) "v2"
- 位操作
GETBIT key offset
SETBIT key offset value
BITCOUNT key [start] [end]
BITOP operation destkey key [key …]
一个字节由8个二进制位组成,Redis提供了4个命令可以直接对二进制位进行操作,