redis-cli是原生redis自带的命令行工具,可以帮助我们通过简单的命令连接redis服务,并进行数据管理,即redis键(key)和redis数据结构的管理。
1.操作键
Redis键操作是Redis数据库中非常重要和常用的操作。下面,通过一张表来介绍一下常用的Redis键操作命令及相关说明,具体如表所示。
更正:第五个指令为MGET
更正:RENAME为修改指定键的名称
上述指令实际使用时大小写都可以
1.1 SET命令
使用SET命令为指定键设置值。具体语法如下
SET key value
上述语法中,SET是为指定键设置值的命令,若是所指定的键不存在,则创建键,否则进行覆盖操作;key表示键;value表示为指定键设置的值。
下面,我们演示为键company指定值itcast,具体如下:
127.0.0.1:6379> set company itcast
从上述返回结果“OK”可以看出,我们成功为键company指定值itcast。
1.2 MSET命令
使用MSET命令为多个键设置值,具体语法如下:
MSET key1 value1 key2 value2 ... keyN valueN
上述语法中,MSET是为多个键设置值的命令,若是键不存在,则创建键,否则进行覆盖操作;key1、key2、…、keyN表示键;value1、value2、…、valueN表示要为对应键设置的值。
下面,我们演示为键brand1设置值java、键brand2设置值c++、键brand3设置值python、键brand4设置值c#、键brand5设置值c、键brand6设置值go,具体如下:
127.0.0.1:6379> mset brand1 "java" brand2 "c++" brand3 "python" brand4 "c#" brand5 "c" brand6 "go"
127.0.0.1:6379>mset brandl "java" brand2 "c++" brand3 "python" brand4 "c#" brand5 "c" brand6 "go"
OK
127.0.0.1:6379>
从上述返回结果“OK”可以看出,我们成功为键brand1、brand2、brand3、brand4、brand5和brand6分别指定值。
1.3 KEYS命令
使用KEYS命令查找所有符合给定模式pattern(正则表达式)的键,具体语法如下:
KEYS PATTERN
上述语法中,KEYS是查找所有符合给定模式pattern(正则表达式)键的命令;PATTERN是模式,也可以为正则表达式。
下面,我们演示查找所有键,具体如下:
从上述返回结果可以看出,一共有七个键,其中键company是执行“SET”命令创建的,键brand1、brand2、brand3、brand4、brand5、brand6是执行“MSET”命令创建。
1.4 GET命令
使用GET命令获取指定键的值,具体语法如下:
GET key
上述语法中,GET是用于获取指定键的值的命令;key表示键。
下面,我们演示获取键company的值,具体如下:
127.0.0.1:6379> get company
从上述返回结果“itcast”可以看出,键company的值为itcast,说明我们成功获取到键company的值。
1.5 MGET命令
使用MGET命令获取多个键的对应值,具体语法如下:
MGET key1 key2 ...
上述语法中,MGET是用于获取指定多个键的值的命令;key1、key2 …表示多个键。
下面,我们演示获取键brand1、brand2、brand3以及brand的值,具体如下:
127.0.0.1:6379> mget brand1 brand2 brand3 brand
从上述返回结果可以看出,键brand1、brand2以及brand3的值分别为heima、chuanzhihui及kudingyu,而键brand的值为nil,这是因为键brand并不存在,因此返回特殊值nil。
1.6 DUMP命令
使用DUMP命令序列化指定的键,并返回被序列化的值,具体语法如下:
DUMP key
上述语法中,DUMP是用于序列化指定的键并返回被序列化的值的命令;key表示键。
下面,我们演示序列化键company,并返回被序列化的值,具体如下:
127.0.0.1:6379> dump company
从上述返回结果可以看出,键company已经被序列化,并且被序列化的值为"\x00\x06itcast\x06\x00C\x86296^\x8b\xe3"。
1.7 EXISTS命令
使用EXISTS命令判断指定键是否存在,具体语法如下:
EXISTS key
上述语法中,EXISTS是用于判断指定键是否存在的命令;key表示键。
下面,我们演示判断键brand6和brand7是否存在,若存在,则返回1,反之返回0,具体如下:
从上述返回结果可以看出,键brand6存在,而键brand7不存在。
1.8 TYPE命令
使用TYPE命令查看指定键的类型,具体语法如下:
TYPE key
上述语法中,TYPE是用于查看指定键的类型的命令;key表示键。
下面,我们演示查看键company的类型,具体如下:
127.0.0.1:6379> type company
从上述返回结果可以看出,键company的类型为string类型。
1.9 RENAME命令
使用RENAME命令修改指定键的名称,具体语法如下:
RENAME key newkey
上述语法中,RENAME是用于修改指定键名称的命令;key表示旧键;newkey表示新键。
下面,我们演示将键company改为newcompany,并执行“keys *”命令,查看键是否被修改成功,具体如下:
127.0.0.1:6379>rename company newcompany
从上述返回结果可以看出,键company已经更改为newcompany。
1.10 EXPIRE命令
使用EXPIRE命令设置键的生存时间,具体语法如下:
EXPIRE key seconds
上述语法中, EXPIRE是用于设置指定键生存时间的命令;key表示键;seconds表示设置的时间,以秒计。
下面,我们演示将键brand6的生存时间设置为300s,具体如下:
127.0.0.1:6379> expire brand6 300
127.0.0.1:6379>expire brand6300
(integer)1
127.0.0.1:6379>
从上述返回结果“1”可以看出,键brand6的生存时间已经成功设置为300s,即300s后该键会消失。
1.11 TTL命令
使用TTL命令查看指定键的剩余过期时间,具体语法如下:
TTL key
上述语法中,TTL是用于查看指定键剩余过期时间的命令;key表示键。
下面,我们演示查看键brand6的剩余过期时间,具体如下:
127.0.0.1:6379> ttl brand6
从上述返回结果“209”可以看出,键brand6的剩余生存时间为209s。若是键brand6不存在(即过期)则返回“-2”.若键未设置生存时间,则返回-1.
1.12 PERSIST命令
使用PERSIST命令移除指定键的生存时间,即将键从带生存时间的状态转换为持久存在的状态,具体语法如下:
PERSIST key
上述语法中,PERSIST是用于移除指定键的生存时间的命令;key表示键。
下面,我们演示移除键brand6的生存时间,具体如下:
127.0.0.1:6379> persist brand6
从上述返回结果“1”可以看出,键brand6的生存时间已被成功移除。
1.13 DEL命令
使用DEL命令删除指定键,具体语法如下:
DEL key
上述语法中,DEL是用于删除指定键的命令;key表示键。
下面,我们演示删除键brand6,并执行“keys *”命令,查看键brand6是否还存在(注意,若前面键brand6设置的生存时间较短的话,未执行删除操作,该键就已经不存在了),具体如下:
从上述返回结果可以看出,键brand6已经被成功删除。
2.操作字符串
String字符串是Redis中最基本也是最简单的数据结构,Redis为String字符串提供了相关操作命令。下面,通过一张表来介绍一下常用的String操作命令及相关说明,具体如表所示。
2.1 SET命令
使用SET命令为指定字符串键设置值,该命令与操作键的命令一致,具体语法如下:
SET key value
上述语法中,SET是为指定字符串设置值的命令,若是所指定的字符串键不存在,则进行创建操作,否则进行覆盖操作;key表示字符串键;value表示为字符串键设置的值。