使用redis-cli操作redis

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,具体如下:

019978334a894b2e88a7191749f3af9c.png

从上述返回结果“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、具体如下:

7296c9c0f64d4c32a2d89732d394cf51.png

从上述返回结果“OK”可以看出,我们成功为键key1、key2、key3,分别指定值。

1.3 KEYS命令

使用KEYS命令查找所有符合给定模式pattern(正则表达式)的键,具体语法如下:

KEYS PATTERN

上述语法中,KEYS是查找所有符合给定模式pattern(正则表达式)键的命令;PATTERN是模式,也可以为正则表达式。

下面我们来演示一下查找所有键,具体如下:

f05ba86829214a248332a9f062098f3f.png

从上述返回结果可以看出,一共有4个键,其中键student是执行“SET”命令创建的,键key1 key2 key3是执行“MSET”命令创建。

1.4 GET命令

使用GET命令获取指定键的值,具体语法如下:

GET key

上述语法中,GET是用于获取指定键的值的命令;key表示键。

下面,我们演示获取键key2的值,具体如下:

2cb4a1e34c78434e915b2fe58971d222.png

从上述返回结果“v2”可以看出,键key2的值为v2,说明我们成功获取到键key2的值。

1.5 MGET命令

使用MGET命令获取多个键的对应值,具体语法如下:

MGET key1 key2 ...

上述语法中,MGET是用于获取指定多个键的值的命令;key1、key2 …表示多个键。

下面,我们演示获取键key1     key3 的值,具体如下:

mget key1 key3

35116193e500428b955b7c71add8d9aa.png

从上述返回结果可以看出,键key1  key3的值分别为v1 v3.

1.6 DUMP命令

使用DUMP命令序列化指定的键,并返回被序列化的值,具体语法如下:

DUMP key

上述语法中,DUMP是用于序列化指定的键并返回被序列化的值的命令;key表示键。

下面,我们演示序列化键dump key3,并返回被序列化的值,具体如下:5f3b655fff6349fa9b82538d044d561e.png

dump key3

从上述返回结果可以看出,键keys已经被序列化,并且被序列化的值为"\x00\x06itcast\x06\x00C\x86296^\x8b\xe3"。

1.7 EXISTS命令

使用EXISTS命令判断指定键是否存在,具体语法如下:

EXISTS key

上述语法中,EXISTS是用于判断指定键是否存在的命令;key表示键。
下面,我们演示判断键key4和key1是否存在,若存在,则返回1,反之返回0,具体如下:

00350cd7ca8e48588abec6103bf9b962.png

从上述返回结果可以看出,键key1存在,而键key2不存在。

1.8 TYPE命令

使用TYPE命令查看指定键的类型,具体语法如下:

TYPE key

上述语法中,TYPE是用于查看指定键的类型的命令;key表示键。
下面,我们演示查看键key1的类型,具体如下:

 type key1

6cc0ffe301c3424cabbbe68d1b736b78.png

1.9 RENAME命令

使用RENAME命令修改指定键的名称,具体语法如下:

RENAME key newkey

上述语法中,RENAME是用于修改指定键名称的命令;key表示旧键;newkey表示新键。

下面,我们演示将键key1改为g1,并执行“keys *”命令,查看键是否被修改成功,具体如下:

> rename key1 g1

5a7bedacbd924997830e44c11e21bcba.png

从上述返回结果可以看出,键key1已经更改为g1。

1.10 EXPIRE命令

使用EXPIRE命令设置键的生存时间,具体语法如下:

EXPIRE key seconds

上述语法中, EXPIRE是用于设置指定键生存时间的命令;key表示键;seconds表示设置的时间,以秒计。
下面,我们演示将键的生存时间设置为10s,具体如下:

 expire key2 10

e79a3a470340406cacea5b1625338b36.png

从上述返回结果“1”可以看出,键key2的生存时间已经成功设置为10s,即10s后该键会消失。

1.11 TTL命令

使用TTL命令查看指定键的剩余过期时间,具体语法如下:

TTL  key

上述语法中,TTL是用于查看指定键剩余过期时间的命令;key表示键。
下面,我们演示查看键key3的剩余过期时间,具体如下:

ttl key3

06bad216f34743fdb0c2cfaaff352061.png

如图所示,key2已过期

1.12 PERSIST命令

使用PERSIST命令移除指定键的生存时间,即将键从带生存时间的状态转换为持久存在的状态,具体语法如下:

PERSIST  key

上述语法中,PERSIST是用于移除指定键的生存时间的命令;key表示键。
下面,我们演示移除键brand6的生存时间,具体如下:

persist g1

acf2647d39484d07be5c2ef9c7ca929c.png

1.13 DEL命令

使用DEL命令删除指定键,具体语法如下:

DEL key

7dfdfc0de1644075b2ea98b597c9b78a.png

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,具体如下:

c4b40103c58941368339bb7edf7b7310.png

2.2 MSET命令

使用MSET命令为多个字符串键设置对应的值,具体语法如下:

 MSET key value [key value ...]

上述语法中,MSET是为多个字符串键设置对应值的命令,若是该字符串不存在,则进行创建操作,否则进行覆盖操作;key表示字符串的键;value表示字符串键设置的值;[key value …]表示可以为多个字符串键设置对应的值。

下面,我们演示具体如下:

mset student:10001 lisi student:10002 zhangsan student:10003 wangwu

5e99ee7f239646c3a869580baf322fe5.png

2.3 GET命令

使用GET命令获取指定字符串键的值,具体语法如下:

GET key

上述语法中,GET是用于获取指定字符串键值的命令;key表示字符串键。
下面,我们演示获取字符串student:200012的值,具体如下:

get student:200012

f6df85039d604ae288b41bad06b785b1.png

2.4 MGET命令

使用MGET命令获取多个字符串键的对应值,具体语法如下:

MGET key1 key2 ...

上述语法中,MGET是用于获取指定多个键的值的命令;key1、key2 …表示多个键。
下面,我们演示获取字符串键student:10004 chenliu 的值,具体如下

dc6d73a501ac4c94a037da5728fda820.png

2.6 STRLEN命令

使用STRLEN命令获取指定字符串键值的长度,具体语法如下:

STRLEN  key

上述语法中,STRLEN是用于获取指定字符串键值的长度;key表示字符串键。
下面,我们演示获取字符串值1004值的长度,具体如下:

e7e6a09dc51f41bcbe185b8cafcc3f1c.png

2.7 GETRANGE命令

使用GETRANGE命令获取字符串键指定索引范围的值内容,具体语法如下:\

GETRANGE key start end

上述语法中,GETRANGE是用于获取字符串键指定索引范围的值内容;key表示字符串键;start表示范围的起始索引;end表示范围的结束索引。
下面,我们演示获取字符串键student:10004指定索引范围在[2,5]的值内容,具体如下:

 getrange student:10004 2 5

974771a99cfb497a8eee56a3c5bd6c99.png

2.8 SETRANGE命令

使用SETRANGE命令为字符串键的指定索引位置替换值,具体语法如下:

SETRANGE key offset value

上述语法中,SETRANGE是用于为字符串键的指定索引位置替换值的命令;key表示字符串键;offset表示偏移量;value表示为字符串键的指定索引位置替换值。
下面,我们演示为字符串键student:10004的索引为4的位置替换值为ha,并通过执行“get website”获取该字符串键的值,查看是否成功为字符串键student:10004替换值,具体如下:

4d812aeed9dc409f9d59ab0fea0cdc79.png                     

2.9 APPEND命令

使用APPEND命令为指定字符串键的值末尾追加新内容,具体语法如下:

APPEND key value

上述语法中,APPEND是用于为指定字符串键的值末尾追加新内容的命令;key表示字符串键;value表示追加的新内容。

下面,我们演示为字符串键student:10004的值的末尾追加ahgd,并通过执行“get student:10004获取该字符串键的值,查看是否成功为字符串键的值的末尾追加新内容,具体如下:

 append student:10004 "ahgd"

7f351098899b409d98de196fdac9190e.png

3. 操作list 列表

List列表是一种线性的有序结构,Redis为List列表提供了相关的操作命令。下面,通过一张表来介绍一下常用的List操作命令及相关说明,具体如表所示。

操作命令相关说明
rpush将一个或者多个元素推入到列表的右端
lpush将一个或者多个元素推入到列表的左端
lrange获取列表指定索引范围内的元素
rpop弹出列表最右端的元素
lpop弹出列表最左端的元素
llen获取指定列表的长度
lrem移除列表中的指定元素
lindex获取列表指定索引范围上的元素

3.1 RPUSH命令

使用RPUSH命令将一个或多个元素推入到列表的右端,具体语法如下

RPUSH key value

上述语法中,RPUSH是将一个或多个元素推入到列表的右端的命令,若是所指定的列表不存在,则会创建空列表,然后往该列表中推入元素;key表示列表;value表示为指定列表插入的元素值。

0044c43d1a294249999c1f9f792d0fe5.png

3.2 LPUSH命令

使用LPUSH命令将一个或多个元素推入到列表的左端,具体语法如下:

LPUSH key value

fb69dd29c48e4a6cb78160a3815f6118.png

3.3LRANGE命令

使用LRANGE命令获取列表指定索引范围内的元素,具体语法如下:

LRANGE key start stop

a244ad89dd904541b9cdc6ff759c9ccc.png

3.4 LINDEX命令

使用LINDEX命令获取列表指定索引位置上的元素,具体语法如下:

LINDEX key index

0b25dda131a444f2bd7563e7d780e6d9.png

3.5 RPOP命令

使用RPOP命令移除列表最右端的元素,具体语法如下:

RPOP key

d7436c140bce4be2beeaa56e211de166.png

3.6 LPOP命令

使用LPOP命令移除列表最左端的元素,具体语法如下:

LPOP key

0d5e6e63652b4d918c15c7a8eafbb05f.png

36c87e4940f34bd69455db1f223def62.png上述语法中,RPOP是用于移除列表最右端元素的命令;key表示列表。

3.7 LLEN命令

使用LLEN命令获取列表中值的长度,也就是元素的个数,具体语法如下:

LLEN  key

上述语法中,LIND是用于获取列表中值的长度的命令;key表示列表。

2157b61dbc94498ea97ca8a759cdef2d.png

3.8 LREM命令

使用LREM命令移除列表中的指定元素,具体语法如下:

LREM key count value

上述语法中,LREM是用于移除列表中的指定元素的命令;key表示列表;count参数的值决定了LREM命令移除元素的方式,

若是count>0,则从列表头开始向列表尾搜索,移除与value相等的元素,数量为count的绝对值;
若是count<0,则从列表尾开始向列表头搜索,移除与value相等的元素,数量为count 的绝对值;
若是count=0,移除列表中所有与value相等的值;value表示要移除的元素。

6492dcab08464addad4bb39b68adf9f6.png

操作集合

Sets集合是Redis的基本数据结构之一。Redis为Sets集合提供了相关的操作命令。下面,通过一张表来介绍一下常用的Sets操作命令及相关说明,具体如表所示。

 

 

 

4.1 SADD命令

使用SADD命令将一个或多个元素添加到集合中,具体语法如下:

SADD key member [member…]

上述语法中,SADD是将一个或多个元素添加到集合中的命令,若是所指定的集合不存在,则创建集合,并将元素添加进该集合中;key表示集合;member [member…]表示一个或多个元素。

09d8376ba0524ddf9d35610cbb8ba25d.png

4.2 SCARD命令

使用SCARD命令获取集合中的元素数量,具体语法如下:

SCARD key

上述语法中,SCARD是获取集合中元素数量的命令;key表示集合

56af021b9af041bc92ed396335053da7.png

4.3 SMEMBERS命令

使用SMEMBERS命令获取集合中的所有元素,具体语法如下:

SMEMBERS key

上述语法中,SMEMBERS是用于获取集合中所有元素的命令;key表示集合。

252d99dd49214dcba2dcafb2e5766a91.png

 

4.5 SREM命令

使用SREM命令移除集合中的一个或多个已存在的元素,具体语法如下:

SREM key member [member…]

上述语法中,SREM是用于移除集合中的一个或多个已存在元素的命令;key表示集合;member [member…]表示一个或多个元素。

d00b9531e8f34c2bab0f05e0baaa4b8c.png

4.6 SMOVE命令

使用SMOVE命令将元素从一个集合移动到另一个集合,具体语法如下:

SMOVE source destination member

上述语法中,SMOVE是用于将元素从一个集合移动到另一个集合的命令;source表示原始集合;destination表示目标集合;member表示要移动的元素。

49287ebb7d0844d5be690fe9db5b8e0e.png

5.操作散列

Hash散列也是Redis的基本数据结构之一。Redis为Hash散列提供了客户端的操作命令。下面,通过一张表来介绍一下常用的Hash操作命令及相关说明,具体如表所示。

546137021ef74d02ad44d7ef0feb3061.png

 

5.1 HSET命令

使用HSET命令为散列中指定键设置值,具体语法如下:

HSET key field value

ba9928ef2a4a4999959477ef7ac6e258.png

5.2 HMSET命令

使用HMSET命令为散列中多个键设置值,具体语法如下:

HMSET key field value [field value ...]

上述语法中,HMSET是用于为散列中的多个键设置值的命令;key表示散列;field value [field value …]表示散列中的一个或多个键及其对应的值。

1220c261d8a344d68eaac71d803ddb76.png

5.3 HGET命令

使用HGET命令获取散列中指定键的值,具体语法如下:

HGET key field

6c1c10d52c8f4acabadec5789ccf2045.png

5.4 HMGET命令

使用HMGET命令获取散列中多个键的值,具体语法如下:

HMGET key field [field ...]

6af42590eefb48df88bb49f00f1592bc.png

5.5 HGETALL命令

使用HGETALL命令获取散列中的所有键值对,具体语法如下:

HGETALL key 

上述语法中,HMGET是用于获取散列中的所有键值对的命令;key表示散列。

3c3be289ae2b468cb30c685cce56ae49.png

5.6 HKEYS命令

使用HKEYS命令获取散列中的所有键,具体语法如下:

HKEYS key 

上述语法中,HKEYS是用于获取散列中的所有键的命令;key表示散列。

82667e303db647a6a9b70bdc1863d2bf.png

5.8 HDEL命令

使用HDEL命令删除散列中指定键及其相对应的值,具体语法如下:

HDEL key field [field ...]

上述语法中,HDEL是用于删除散列中指定键及其相对应的值的命令;key表示散列;field [field …]表示散列中的一个或多个键。

c8e94fbf8a1c4f4f9ea7bbd312e38231.png

 

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表示键值对中的值,即元素。

273a38b1f08f4c3d9d1c00aedf48162e.png

6.2 ZCARD命令

使用ZCARD命令获取有序集合中元素的个数,具体语法如下:

ZCARD key

93b5816e218041cfa21432b27feb829f.png上述语法中,ZCARD是用于获取有序集合中元素的个数的命令;key表示有序集合。

6.3 ZCOUNT命令

使用ZCOUNT命令统计有序集合中指定分值范围内的元素个数,具体语法如下:

ZCOUNT key min max

上述语法中,ZCOUNT是用于统计有序集合中指定分值范围内的元素个数的命令;key表示有序集合;min表示区间范围的最小值;max表示分值范围的最大值。

d717800507c3494f8d26710352eb3d86.png

6.4 ZRANGE命令

使用ZRANGE命令获取有序集合中指定索引范围内的元素,具体语法如下:

ZRANGE key start stop

aba32dd01d66421fb0a65303475b6ba5.png

6.5 ZSCORE命令

使用ZSCORE命令获取有序集合中指定元素的分值,具体语法如下:

ZSCORE key member

上述语法中,ZSCORE是用于获取有序集合中指定元素的分值的命令;key表示有序集合;member表示有序集合中的元素。
下面,我们演示获取有序集合salary中指定元素Peter的分值,具体如下:

3c4f9bd5fbe74a359d31b73840fa5a76.png

6.6 ZREM命令

使用ZREM命令移除有序集合中的指定元素,具体语法如下:

ZREM key member [member ...]

731683d3cd5b4a8491899f51c4959ed2.png

上述语法中,ZREM是用于获取有序集合中指定元素分值的命令;key表示有序集合;member [member …]表示有序集合中的一个或多个元素。

到这里文章结束啦!

 

 

  • 26
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值