【Redis数据库】命令学习笔记——发布订阅、事务、脚本、连接命令汇总

版权声明:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。要做一枚好奇宝宝,不断学习才不会被时代淘汰! https://blog.csdn.net/sinat_35630008/article/details/82493933

本篇基于redis 4.0.11版本,学习发布订阅、事务、脚本、连接的相关命令。

Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。

序号 命令 描述 事例 结果
1 SUBSCRIBE channel [channel ...]  订阅给定的一个或多个频道的信息。 创建了订阅频道名为redisChat:SUBSCRIBE redisChat Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "redisChat"
3) (integer) 1
2 PUBLISH channel message  将信息发送到指定的频道。 将haha发布到mychannel渠道:publish mychannel haha 本窗口:"2"   --返回订阅数量
订阅窗口:1)  "message"
 2)  "mychannel"
 3)  "haha"
3 PSUBSCRIBE pattern [pattern ...]  订阅一个或多个符合给定模式的频道。 订阅my开头模式的频道:PSUBSCRIBE my* Reading messages... (press Ctrl-C to quit)
1) "psubscribe"  # 返回值的类型:显示订阅成功
2) "my*"   # 订阅的模式
3) (integer) 1   # 目前已订阅的模式的数量
----------------------
1) "pmessage"  # 返回值的类型:信息
2) "my*"   # 信息匹配的模式
3) "mychannel"  # 信息本身的目标频道
4) "haha"   # 信息的内容  
4 PUBSUB subcommand [argument [argument ...]]  查看订阅与发布系统状态。 打印所有活跃频道:PUBSUB CHANNELS
订阅者数量:PUBSUB NUMSUB mychannel
1) "mychannel"
2) "redisChat"
---------------
1) "mychannel"
2) (integer) 1
5 UNSUBSCRIBE [channel [channel ...]]  指退订给定的频道。    
6 PUNSUBSCRIBE [pattern [pattern ...]]  退订所有给定模式的频道。    

Redis 事务可以一次执行多个命令,收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行,在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中

序号 命令 描述 事例 结果
1 DISCARD  取消事务,放弃执行事务块内的所有命令。 127.0.0.1:6379> MULTI
OK
127.0.0.1:6379> SET greeting "hello"
QUEUED
127.0.0.1:6379> DISCARD
OK
 
2 MULTI  标记一个事务块的开始。 127.0.0.1:6379> MULTI
OK
127.0.0.1:6379> SET book-name "Mastering C++ in 21 days"
QUEUED
127.0.0.1:6379> GET book-name
QUEUED
127.0.0.1:6379> SADD tag "C++" "Programming" "Mastering Series"
QUEUED
127.0.0.1:6379> SMEMBERS tag
QUEUED
127.0.0.1:6379> EXEC
1) OK
2) "Mastering C++ in 21 days"
3) (integer) 3
4) 1) "Programming"
   2) "C++"
   3) "Mastering Series"
3 EXEC  执行所有事务块内的命令。
4 WATCH key [key ...]  监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。 WATCH lock lock_times ok
5 UNWATCH  取消 WATCH 命令对所有 key 的监视。 UNWATCH ok

Redis 脚本使用 Lua 解释器来执行脚本。 Redis 2.6 版本通过内嵌支持 Lua 环境。执行脚本的常用命令为 EVAL

序号 命令 描述 事例 结果
1 EVAL script numkeys key [key ...] arg [arg ...] 执行 Lua 脚本 eval "return {KEYS[1],KEYS[2],KEYS[3],ARGV[1]}" 3 key1 key2 first second 1) "key1"
2) "key2"
3) "first"
4) "second"
2 EVALSHA sha1 numkeys key [key ...] arg [arg ...] 执行 Lua 脚本    
3 SCRIPT EXISTS script [script ...] 查看指定的脚本是否已经被保存在缓存当中 SCRIPT EXISTS 232fd51614574cf0867b83d384a5e898cfd24e5a 1) (integer) 1
4 SCRIPT FLUSH 从脚本缓存中移除所有脚本    
5 SCRIPT KILL 杀死当前正在运行的 Lua 脚本    
6 SCRIPT LOAD script 将脚本 script 添加到脚本缓存中,但并不立即执行这个脚本 SCRIPT LOAD "return 'hello moto'"

"232fd51614574cf0867

b83d384a5e898cfd24e5a"

连接 redis 服务命令:

序号 命令 描述 事例 结果
1

AUTH password 

验证密码是否正确    
2

ECHO message 

打印字符串 ECHO HAHA "HAHA"
3

PING 

查看服务是否运行 PING  PONG # 客户端和服务器连接正常
4

QUIT 

关闭当前连接    
5

SELECT index 

切换到指定的数据库 SELECT 2  OK

上一篇:【Redis数据库】命令学习笔记——列表(list)+集合(set)+有序集合(sorted set)(17+15+20个超全字典版)

下一篇:JAVA调用redis

猜你喜欢

转载自blog.csdn.net/sinat_35630008/article/details/82493933