redis-cli是原生redis自带的命令行工具,可以帮助我们通过简单的命令连接redis服务,并进行数据管理,即redis键(key)和redis数据结构的管理。
关于如何进入redis-cli命令行客户端,请查看文章:Redis安装部署(基于windows平台)
1.操作键
Redis键操作是Redis数据库中非常重要和常用的操作。下面,通过一张表来介绍一下常用的Redis键操作命令及相关说明,具体如表所示。
操作命令 | 相关说明 |
SET | 为指定键设置值 |
MSET | 为多个键设置值 |
KEYS | 查找所有符合给定模式pattern(正则表达式)的键 |
GEL | 获取指定键的值 |
MSET | 获取多个键的对应值 |
DUMP | 序列化指定的键,并返回被序列化的值 |
EXISTIS | 判单指定键是否存在 |
操作命令 | 相关说明 |
TYPE | 查看指定键的类型 |
RENAME | 修改指定键的值 |
EXPIRE | 设置指定键的生存时间,以秒计时 |
TIL | 返回指定键的剩余生存时间 |
MGET | 移除键的生存时间 |
DEL | 在键存在时,删除key |
上述指令大小写都可以 |
1.1 SET命令
使用SET命令为指定键设置值。具体语法如下
SET key value
上述语法中,SET是为指定键设置值的命令,若是所指定的键不存在,则创建键,否则进行覆盖操作;key表示键;value表示为指定键设置的值。
下面,我们演示为键student指定值list,具体如下:
从上述返回结果“OK”可以看出,我们成功为键student指定值lisi。
1.2 MSET命令
使用MSET命令为多个键设置值,具体语法如下:
MSET key1 value1 key2 value2 ... keyN valueN
上述语法中,MSET是为多个键设置值的命令,若是键不存在,则创建键,否则进行覆盖操作;key1、key2、…、keyN表示键;value1、value2、…、valueN表示要为对应键设置的值。
下面,我们演示为键key1设置值v1、键key2设置值v2、键key3设置值v3、具体如下:
从上述返回结果“OK”可以看出,我们成功为键key1、key2、key3,分别指定值。
1.3 KEYS命令
使用KEYS命令查找所有符合给定模式pattern(正则表达式)的键,具体语法如下:
KEYS PATTERN
上述语法中,KEYS是查找所有符合给定模式pattern(正则表达式)键的命令;PATTERN是模式,也可以为正则表达式。
下面我们来演示一下查找所有键,具体如下:
从上述返回结果可以看出,一共有4个键,其中键student是执行“SET”命令创建的,键key1 key2 key3是执行“MSET”命令创建。
1.4 GET命令
使用GET命令获取指定键的值,具体语法如下:
GET key
上述语法中,GET是用于获取指定键的值的命令;key表示键。
下面,我们演示获取键key2的值,具体如下:
从上述返回结果“v2”可以看出,键key2的值为v2,说明我们成功获取到键key2的值。
1.5 MGET命令
使用MGET命令获取多个键的对应值,具体语法如下:
MGET key1 key2 ...
上述语法中,MGET是用于获取指定多个键的值的命令;key1、key2 …表示多个键。
下面,我们演示获取键key1 key3 的值,具体如下:
mget key1 key3
从上述返回结果可以看出,键key1 key3的值分别为v1 v3.
1.6 DUMP命令
使用DUMP命令序列化指定的键,并返回被序列化的值,具体语法如下:
DUMP key
上述语法中,DUMP是用于序列化指定的键并返回被序列化的值的命令;key表示键。
下面,我们演示序列化键dump key3,并返回被序列化的值,具体如下:
dump key3
从上述返回结果可以看出,键keys已经被序列化,并且被序列化的值为"\x00\x06itcast\x06\x00C\x86296^\x8b\xe3"。
1.7 EXISTS命令
使用EXISTS命令判断指定键是否存在,具体语法如下:
EXISTS key
上述语法中,EXISTS是用于判断指定键是否存在的命令;key表示键。
下面,我们演示判断键key4和key1是否存在,若存在,则返回1,反之返回0,具体如下:
从上述返回结果可以看出,键key1存在,而键key2不存在。
1.8 TYPE命令
使用TYPE命令查看指定键的类型,具体语法如下:
TYPE key
上述语法中,TYPE是用于查看指定键的类型的命令;key表示键。
下面,我们演示查看键key1的类型,具体如下:
type key1
1.9 RENAME命令
使用RENAME命令修改指定键的名称,具体语法如下:
RENAME key newkey
上述语法中,RENAME是用于修改指定键名称的命令;key表示旧键;newkey表示新键。
下面,我们演示将键key1改为g1,并执行“keys *”命令,查看键是否被修改成功,具体如下:
> rename key1 g1
从上述返回结果可以看出,键key1已经更改为g1。
1.10 EXPIRE命令
使用EXPIRE命令设置键的生存时间,具体语法如下:
EXPIRE key seconds
上述语法中, EXPIRE是用于设置指定键生存时间的命令;key表示键;seconds表示设置的时间,以秒计。
下面,我们演示将键的生存时间设置为10s,具体如下:
expire key2 10
从上述返回结果“1”可以看出,键key2的生存时间已经成功设置为10s,即10s后该键会消失。
1.11 TTL命令
使用TTL命令查看指定键的剩余过期时间,具体语法如下:
TTL key
上述语法中,TTL是用于查看指定键剩余过期时间的命令;key表示键。
下面,我们演示查看键key3的剩余过期时间,具体如下:
ttl key3
如图所示,key2已过期
1.12 PERSIST命令
使用PERSIST命令移除指定键的生存时间,即将键从带生存时间的状态转换为持久存在的状态,具体语法如下:
PERSIST key
上述语法中,PERSIST是用于移除指定键的生存时间的命令;key表示键。
下面,我们演示移除键brand6的生存时间,具体如下:
persist g1
1.13 DEL命令
使用DEL命令删除指定键,具体语法如下:
DEL key
2.操作字符串
String字符串是Redis中最基本也是最简单的数据结构,Redis为String字符串提供了相关操作命令。下面,通过一张表来介绍一下常用的String操作命令及相关说明,具体如表所示。
操作命令 | 相关说明 |
SET | 为指定字符串键设置值 |
MSET | 为多个字符串键设置值 |
GET | 获取指定字符串key中的值 |
MGET | 获取多个字符串键的的对应值 |
GETSET | 获取多个字符串键的旧值并设置新值 |
STALEN | 获取字符串值的字节长度 |
GETRANGE | 获取字符串键指定索引范围的值内容 |
SETRANGE | 为字符串键的指定索引位置设置值 |
APPENDF | 追加新内容到值的末尾 |
2.1 SET命令
使用SET命令为指定字符串键设置值,该命令与操作键的命令一致,具体语法如下:
SET key value
上述语法中,SET是为指定字符串设置值的命令,若是所指定的字符串键不存在,则进行创建操作,否则进行覆盖操作;key表示字符串键;value表示为字符串键设置的值。
下面,我们演示为字符串键student设置值student:200012 zhangsan,具体如下:
2.2 MSET命令
使用MSET命令为多个字符串键设置对应的值,具体语法如下:
MSET key value [key value ...]
上述语法中,MSET是为多个字符串键设置对应值的命令,若是该字符串不存在,则进行创建操作,否则进行覆盖操作;key表示字符串的键;value表示字符串键设置的值;[key value …]表示可以为多个字符串键设置对应的值。
下面,我们演示具体如下:
mset student:10001 lisi student:10002 zhangsan student:10003 wangwu
2.3 GET命令
使用GET命令获取指定字符串键的值,具体语法如下:
GET key
上述语法中,GET是用于获取指定字符串键值的命令;key表示字符串键。
下面,我们演示获取字符串student:200012的值,具体如下:
get student:200012
2.4 MGET命令
使用MGET命令获取多个字符串键的对应值,具体语法如下:
MGET key1 key2 ...
上述语法中,MGET是用于获取指定多个键的值的命令;key1、key2 …表示多个键。
下面,我们演示获取字符串键student:10004 chenliu 的值,具体如下
2.6 STRLEN命令
使用STRLEN命令获取指定字符串键值的长度,具体语法如下:
STRLEN key
上述语法中,STRLEN是用于获取指定字符串键值的长度;key表示字符串键。
下面,我们演示获取字符串值1004值的长度,具体如下:
2.7 GETRANGE命令
使用GETRANGE命令获取字符串键指定索引范围的值内容,具体语法如下:\
GETRANGE key start end
上述语法中,GETRANGE是用于获取字符串键指定索引范围的值内容;key表示字符串键;start表示范围的起始索引;end表示范围的结束索引。
下面,我们演示获取字符串键student:10004指定索引范围在[2,5]的值内容,具体如下:
getrange student:10004 2 5
2.8 SETRANGE命令
使用SETRANGE命令为字符串键的指定索引位置替换值,具体语法如下:
SETRANGE key offset value
上述语法中,SETRANGE是用于为字符串键的指定索引位置替换值的命令;key表示字符串键;offset表示偏移量;value表示为字符串键的指定索引位置替换值。
下面,我们演示为字符串键student:10004的索引为4的位置替换值为ha,并通过执行“get website”获取该字符串键的值,查看是否成功为字符串键student:10004替换值,具体如下:
2.9 APPEND命令
使用APPEND命令为指定字符串键的值末尾追加新内容,具体语法如下:
APPEND key value
上述语法中,APPEND是用于为指定字符串键的值末尾追加新内容的命令;key表示字符串键;value表示追加的新内容。
下面,我们演示为字符串键student:10004的值的末尾追加ahgd,并通过执行“get student:10004获取该字符串键的值,查看是否成功为字符串键的值的末尾追加新内容,具体如下:
append student:10004 "ahgd"
3. 操作list 列表
List列表是一种线性的有序结构,Redis为List列表提供了相关的操作命令。下面,通过一张表来介绍一下常用的List操作命令及相关说明,具体如表所示。
操作命令 | 相关说明 |
rpush | 将一个或者多个元素推入到列表的右端 |
lpush | 将一个或者多个元素推入到列表的左端 |
lrange | 获取列表指定索引范围内的元素 |
rpop | 弹出列表最右端的元素 |
lpop | 弹出列表最左端的元素 |
llen | 获取指定列表的长度 |
lrem | 移除列表中的指定元素 |
lindex | 获取列表指定索引范围上的元素 |
3.1 RPUSH命令
使用RPUSH命令将一个或多个元素推入到列表的右端,具体语法如下
RPUSH key value
上述语法中,RPUSH是将一个或多个元素推入到列表的右端的命令,若是所指定的列表不存在,则会创建空列表,然后往该列表中推入元素;key表示列表;value表示为指定列表插入的元素值。
3.2 LPUSH命令
使用LPUSH命令将一个或多个元素推入到列表的左端,具体语法如下:
LPUSH key value
3.3LRANGE命令
使用LRANGE命令获取列表指定索引范围内的元素,具体语法如下:
LRANGE key start stop
3.4 LINDEX命令
使用LINDEX命令获取列表指定索引位置上的元素,具体语法如下:
LINDEX key index
3.5 RPOP命令
使用RPOP命令移除列表最右端的元素,具体语法如下:
RPOP key
3.6 LPOP命令
使用LPOP命令移除列表最左端的元素,具体语法如下:
LPOP key
上述语法中,RPOP是用于移除列表最右端元素的命令;key表示列表。
3.7 LLEN命令
使用LLEN命令获取列表中值的长度,也就是元素的个数,具体语法如下:
LLEN key
上述语法中,LIND是用于获取列表中值的长度的命令;key表示列表。
3.8 LREM命令
使用LREM命令移除列表中的指定元素,具体语法如下:
LREM key count value
上述语法中,LREM是用于移除列表中的指定元素的命令;key表示列表;count参数的值决定了LREM命令移除元素的方式,
若是count>0,则从列表头开始向列表尾搜索,移除与value相等的元素,数量为count的绝对值;
若是count<0,则从列表尾开始向列表头搜索,移除与value相等的元素,数量为count 的绝对值;
若是count=0,移除列表中所有与value相等的值;value表示要移除的元素。
操作集合
Sets集合是Redis的基本数据结构之一。Redis为Sets集合提供了相关的操作命令。下面,通过一张表来介绍一下常用的Sets操作命令及相关说明,具体如表所示。
4.1 SADD命令
使用SADD命令将一个或多个元素添加到集合中,具体语法如下:
SADD key member [member…]
上述语法中,SADD是将一个或多个元素添加到集合中的命令,若是所指定的集合不存在,则创建集合,并将元素添加进该集合中;key表示集合;member [member…]表示一个或多个元素。
4.2 SCARD命令
使用SCARD命令获取集合中的元素数量,具体语法如下:
SCARD key
上述语法中,SCARD是获取集合中元素数量的命令;key表示集合
4.3 SMEMBERS命令
使用SMEMBERS命令获取集合中的所有元素,具体语法如下:
SMEMBERS key
上述语法中,SMEMBERS是用于获取集合中所有元素的命令;key表示集合。
4.5 SREM命令
使用SREM命令移除集合中的一个或多个已存在的元素,具体语法如下:
SREM key member [member…]
上述语法中,SREM是用于移除集合中的一个或多个已存在元素的命令;key表示集合;member [member…]表示一个或多个元素。
4.6 SMOVE命令
使用SMOVE命令将元素从一个集合移动到另一个集合,具体语法如下:
SMOVE source destination member
上述语法中,SMOVE是用于将元素从一个集合移动到另一个集合的命令;source表示原始集合;destination表示目标集合;member表示要移动的元素。
5.操作散列
Hash散列也是Redis的基本数据结构之一。Redis为Hash散列提供了客户端的操作命令。下面,通过一张表来介绍一下常用的Hash操作命令及相关说明,具体如表所示。
5.1 HSET命令
使用HSET命令为散列中指定键设置值,具体语法如下:
HSET key field value
5.2 HMSET命令
使用HMSET命令为散列中多个键设置值,具体语法如下:
HMSET key field value [field value ...]
上述语法中,HMSET是用于为散列中的多个键设置值的命令;key表示散列;field value [field value …]表示散列中的一个或多个键及其对应的值。
5.3 HGET命令
使用HGET命令获取散列中指定键的值,具体语法如下:
HGET key field
5.4 HMGET命令
使用HMGET命令获取散列中多个键的值,具体语法如下:
HMGET key field [field ...]
5.5 HGETALL命令
使用HGETALL命令获取散列中的所有键值对,具体语法如下:
HGETALL key
上述语法中,HMGET是用于获取散列中的所有键值对的命令;key表示散列。
5.6 HKEYS命令
使用HKEYS命令获取散列中的所有键,具体语法如下:
HKEYS key
上述语法中,HKEYS是用于获取散列中的所有键的命令;key表示散列。
5.8 HDEL命令
使用HDEL命令删除散列中指定键及其相对应的值,具体语法如下:
HDEL key field [field ...]
上述语法中,HDEL是用于删除散列中指定键及其相对应的值的命令;key表示散列;field [field …]表示散列中的一个或多个键。
6.操作有序集合
Sorted Sets有序集合是Redis中最为灵活的数据结构。Redis为Sorted Sets有序集合提供了客户端的操作命令。下面,通过一张表来介绍一下常用的Sorted Sets操作命令及相关说明,具体如表所示。
6.1 ZADD命令
使用ZADD命令为有序集合添加一个或多个键值对,具体语法如下:
ZADD key [NX|XX] [CH] [INCR] score member [score member ...]
上述语法中,ZADD是用于为有序集合添加一个或多个键值对的命令;key表示有序集合;
[NX|XX]、[CH]、[INCR]为可选参数,
[NX|XX]表示不更新或更新存在的元素, NX表示不只添加新元素,XX表示不添加新元素;
[CH]表示返回发生变化的元素总数;
[INCR]表示指定元素按照分值进行递增操作;
score member [score member …]表示有序集合的一个或多个的键值对,其中score表示键值对中的键,即分值,member表示键值对中的值,即元素。
6.2 ZCARD命令
使用ZCARD命令获取有序集合中元素的个数,具体语法如下:
ZCARD key
上述语法中,ZCARD是用于获取有序集合中元素的个数的命令;key表示有序集合。
6.3 ZCOUNT命令
使用ZCOUNT命令统计有序集合中指定分值范围内的元素个数,具体语法如下:
ZCOUNT key min max
上述语法中,ZCOUNT是用于统计有序集合中指定分值范围内的元素个数的命令;key表示有序集合;min表示区间范围的最小值;max表示分值范围的最大值。
6.4 ZRANGE命令
使用ZRANGE命令获取有序集合中指定索引范围内的元素,具体语法如下:
ZRANGE key start stop
6.5 ZSCORE命令
使用ZSCORE命令获取有序集合中指定元素的分值,具体语法如下:
ZSCORE key member
上述语法中,ZSCORE是用于获取有序集合中指定元素的分值的命令;key表示有序集合;member表示有序集合中的元素。
下面,我们演示获取有序集合salary中指定元素Peter的分值,具体如下:
6.6 ZREM命令
使用ZREM命令移除有序集合中的指定元素,具体语法如下:
ZREM key member [member ...]
上述语法中,ZREM是用于获取有序集合中指定元素分值的命令;key表示有序集合;member [member …]表示有序集合中的一个或多个元素。
到这里文章结束啦!