Redis之(三)管理命令

4.1键管理

通过学习五种数据类型的操作命令,可以发现,Redis对每种数据的处理之前,都要先指定该数据的key,然后再指定对该数据进行何种操作。

Redis中的key有点类似于Java中的变量名,起到提纲挈领的作用,对某个数据的处理都是以key作为切入点。所以Redis把key作为单独的处理对象抽象出了一套操作命令。key可以想象成一个指向实际数据的指针,对key的操作会直接影响它所指向的数据的状态。

 

比如,我们想删除某个数据,就可以通过删除它的key来达到目的:

127.0.0.1:6379> SET name chenlongfei

OK

127.0.0.1:6379> GET name

"chenlongfei"

127.0.0.1:6379> DEL name

(integer) 1

127.0.0.1:6379> GET name

(nil)

 

想要查看某个数据的类型:

127.0.0.1:6379> SADD direction east west south north

(integer) 4

127.0.0.1:6379> TYPE direction

set

想要更改某个数据的key的名字:

127.0.0.1:6379> RENAME direction direct

OK

127.0.0.1:6379> SMEMBERS direct

1) "north"

2) "west"

3) "south"

4) "east"

 

命令格式

说明

DEL key [key ...]

此命令删除键,如果存在

EXISTS key

此命令检查该键是否存在

EXPIRE key seconds

指定键的过期时间(秒)

PEXPIRE key milliseconds

指定键的过期时间(毫秒)

EXPIREAT key timestamp

以Unix时间戳格式(秒)指定键的过期时间

PEXPIREAT key milliseconds-timestamp

以Unix时间戳格式(毫秒)指定键的过期时间

KEYS pattern

查找与指定模式匹配的所有键。pattern支持glob-style的通配符格式,如*表示任意一个或多个字符,?表示任意字符,[abc]表示方括号中任意一个字母

RENAME key newkey

更改键的名称

RENAMENX key newkey

重命名键,如果新的键不存在

TYPE key

返回存储在键的数据类型的值

RANDOMKEY

从Redis返回随机键的名字

PERSIST key

如果Key存在过期时间,该命令会将其过期时间消除,使该Key不再有超时,而是可以持久化存储

TTL key

Time To Live)返回该键的剩余存活时间(秒),如果该键不存在或没有超时设置,则返回-1

PTTL key

返回该键的剩余存活时间(毫秒)


4.2发布订阅管理

发布订阅(pub/sub)是一种消息通信模式,主要的目的是解耦消息发布者和消息订阅者之间的耦合,这点和设计模式中的观察者模式比较相似。

Redis作为一个server,在订阅者和发布者之间起到了消息路由的功能。订阅者可以通过subscribepsubscribe命令向Redis server订阅自己感兴趣的消息类型,Redis将消息类型称为通道(channel)。当发布者通过publish命令向Redis server发送特定类型的消息时。订阅该消息类型的全部client都会收到此消息。这里消息的传递是多对多的。一个client可以订阅多个 channel,也可以向多个channel发送消息。

例如,一个客户端订阅了“CCTV-5”频道的消息:

127.0.0.1:6379> SUBSCRIBE CCTV-5

Reading messages... (press Ctrl-C to quit)

1) "subscribe"

2) "CCTV-5"

3) (integer) 1

 

另一个客户端在“CCTV-5”发布了两条消息:

127.0.0.1:6379> PUBLISH CCTV-5 "Kobe will say good bye to NBA in 2016.4.4"

(integer) 1

127.0.0.1:6379>PUBLISH CCTV-5 "Cavaliers Cleveland won the championship"

(integer) 1

 

第一个客户端就会收到这两条消息:

127.0.0.1:6379> SUBSCRIBE CCTV-5

Reading messages... (press Ctrl-C to quit)

1) "subscribe"

2) "CCTV-5"

3) (integer) 1

1)"message"

2)"CCTV-5"

3)"Kobe will say good bye to NBA in 2016.4.4"

1)"message"

2)"CCTV-5"

3) "CavaliersCleveland won the championship"

 

命令格式

说明

PUBLISH channel message

将消息message发布到频道channel

SUBSCRIBE channel [channel ...]

订阅一个或多个频道上的消息

UNSUBSCRIBE [channel [channel ...]]

退订频道上的消息

PSUBSCRIBE pattern [pattern ...]

Pattern Subscribe)以模式匹配的方式订阅多个频道

PUNSUBSCRIBE [pattern [pattern ...]]

以模式匹配的方式退订频道消息

PUBSUB subcommand [argument [argument ...]]

查看活动的频道信息。比如“PUBSUB channels”,会列出所有活动的频道名称,所谓“活动的”,是指至少有一个订阅者的频道


4.3 连接管理

默认情况下,Redis没有密码要求,意味着无需通过密码验证就可以连接到Redis 服务。

可以通过更改配置文件中的“requirepass”配置项,来设置密码。

winner@winnerdeMacBook-Pro:~$ Redis-cli

127.0.0.1:6379> CONFIG get requirepass

1) "requirepass"

2) "" --默认没有密码

127.0.0.1:6379> CONFIG set requirepass"chenlongfei"  --设置密码

OK

127.0.0.1:6379> QUIT  --退出重新连接

winner@winnerdeMacBook-Pro:~$ Redis-cli

127.0.0.1:6379> SET name "clf"

(error) NOAUTH Authentication required.  –提示没权限

127.0.0.1:6379> AUTH chenlongfei  --验证密码

OK

127.0.0.1:6379> SET name "clf"  --之后才能进行操作

OK

127.0.0.1:6379> GET name

"clf"

命令格式

说明

AUTH password

验证密码

ECHO message

打印字符串

PING

检验连接状况,正常情况下服务器会返回“PONG”。

QUIT

关闭当前连接

SELECT index

切换到指定的数据库,数据库索引号 index 用数字值指定,以 0 作为起始索引值。默认使用 0 号数据库。


4.4 服务器管理

Redis定义了一组与服务器相关的命令,用于查询服务器信息,如当前时间、客户端连接数量,以及修改配置文件、手动触发某些操作等。

命令格式

说明

INFO

打印服务器的详细信息

CONFIG GETname

获取配置项name的内容

CONFIG SETname value

将配置项name的值设为value,无需重启

BGSAVE

在后台异步保存当前数据库的数据到磁盘。BGSAVE 命令执行之后立即返回 OK ,然后 Redis fork 出一个新子进程,原来的 Redis 进程(父进程)继续处理客户端请求,而子进程则负责将数据保存到磁盘,然后退出。

SAVE

SAVE 命令执行一个同步操作,以RDB文件的方式保存所有数据的快照。很少在生产环境直接使用SAVE 命令,因为它会阻塞所有的客户端的请求,可以使用BGSAVE 命令代替

FLUSHALL

删除所有数据库的所有key

FLUSHDB

删除当前数据库的所有key

SHUTDOWN [NOSAVE] [SAVE]

停止所有客户端,如果配置了save 策略 则执行一个阻塞的save命令,如果开启了AOF,则刷新aof文件,关闭Redis服务进程(Redis-server)。

如果配置了持久化策略,那么这个命令将能够保证在关闭Redis服务进程的时候数据不会丢失。如果仅仅在客户端执行SAVE 命令,然后 执行QUIT 命令,那么数据的完整性将不会被保证,因为其他客户端可能在执行这两个命令的期间修改数据库的数据。

转载于:https://www.cnblogs.com/duadu/p/6335758.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值