【Redis数据库】命令学习笔记——发布订阅、事务、脚本、连接等命令汇总
本篇基于redis 4.0.11版本,学习发布订阅、事务、脚本、连接的相关命令。
Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。
| 序号 | 命令 | 描述 | 事例 | 结果 |
| SUBSCRIBE channel [channel ...] | 订阅给定的一个或多个频道的信息。 | 创建了订阅频道名为redisChat:SUBSCRIBE redisChat | Reading messages... (press Ctrl-C to quit) 1) "subscribe" 2) "redisChat" 3) (integer) 1 |
|
| PUBLISH channel message | 将信息发送到指定的频道。 | 将haha发布到mychannel渠道:publish mychannel haha | 本窗口:"2" --返回订阅数量 订阅窗口:1) "message" 2) "mychannel" 3) "haha" |
|
| 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" # 信息的内容 |
|
| PUBSUB subcommand [argument [argument ...]] | 查看订阅与发布系统状态。 | 打印所有活跃频道:PUBSUB CHANNELS 订阅者数量:PUBSUB NUMSUB mychannel |
1) "mychannel" 2) "redisChat" --------------- 1) "mychannel" 2) (integer) 1 |
|
| UNSUBSCRIBE [channel [channel ...]] | 指退订给定的频道。 | |||
| PUNSUBSCRIBE [pattern [pattern ...]] | 退订所有给定模式的频道。 |
Redis 事务可以一次执行多个命令,收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行,在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中。
| 序号 | 命令 | 描述 | 事例 | 结果 |
| DISCARD | 取消事务,放弃执行事务块内的所有命令。 | 127.0.0.1:6379> MULTI OK 127.0.0.1:6379> SET greeting "hello" QUEUED 127.0.0.1:6379> DISCARD OK |
||
| 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" |
|
| EXEC | 执行所有事务块内的命令。 | |||
| WATCH key [key ...] | 监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。 | WATCH lock lock_times | ok | |
| 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 |
| 6 | CONFIG get requirepass | 是否设置了密码验证 | 1) "requirepass" 2) "" # 密码 |
|
| 7 | CONFIG set requirepass "summer" | 设置密码 | OK | |
| 8 |
config get maxclients |
查询最大连接数 | 1) "maxclients" 2) "10000" |
|
| 9 | client list | 连接到 redis 服务的客户端列表 | id=1748 addr=127.0.0.1:56980 fd=8 name= age=30 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=client |
数据备份与恢复:
| 序号 | 命令 | 描述 | 结果 |
| 1 |
save |
该命令将在 redis 安装目录中创建dump.rdb文件 | OK |
| 2 |
config get dir |
输出的 redis 安装目录 | 1) "dir" 2) "/tmp" |
| 3 |
BGSAVE |
该命令在后台执行 | Background saving started |
上一篇:【Redis数据库】命令学习笔记——列表(list)+集合(set)+有序集合(sorted set)(17+15+20个超全字典版)
【Redis数据库】命令学习笔记——发布订阅、事务、脚本、连接等命令汇总的更多相关文章
- EF6学习笔记(四) 弹性连接及命令拦截调试
EF6学习笔记总目录:ASP.NET MVC5 及 EF6 学习笔记 - (目录整理) 本章原文地址:Connection Resiliency and Command Interception 原文 ...
- linux命令学习笔记(27):linux chmod命令
chmod命令用于改变linux系统文件或目录的访问权限.用它控制文件或目录的访问权限.该命令有两种用法.一种是 包含字母和操作符表达式的文字设定法:另一种是包含数字的数字设定法. Linux系统中的 ...
- FFmpeg常用命令学习笔记(五)裁剪与合并命令
裁剪与合并命令 1.音视频裁剪 ffmpeg -i input.mp4 -ss 00:01:00 -t 10 out.mp4 -ss:起始时间(HH:MM:SS).-t:裁剪时长(秒) 2.视频合并 ...
- Linux命令学习笔记目录
Linux命令学习笔记目录 最近正在使用,linux,顺便将用到的命令整理了一下. 一. 文件目录操作命令: 0.linux命令学习笔记(0):man 命令 1.linux命令学习笔记(1):ls命令 ...
- 【Redis】命令学习笔记——键(key)(20个超全字典版)
安装完redis和redis-desktop-manager后,开始学习命令啦!本篇基于redis 4.0.11版本,从对键(key)开始挖坑! 准备工作,使用db1(默认db0,由于之前练习用db0 ...
- 【Redis】命令学习笔记——列表(list)+集合(set)+有序集合(sorted set)(17+15+20个超全字典版)
本篇基于redis 4.0.11版本,学习列表(list)和集合(set)和有序集合(sorted set)相关命令. 列表按照插入顺序排序,可重复,可以添加一个元素到列表的头部(左边)或者尾部(右边 ...
- 【Redis】命令学习笔记——哈希(hash)(15个超全字典版)
本篇基于redis 4.0.11版本,学习哈希(hash)相关命令. hash 是一个string类型的field和value的映射表,特别适合用于存储对象. 序号 命令 描述 实例 返回 HSET ...
- 【Redis】命令学习笔记——字符串(String)(23个超全字典版)
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). 本篇基于redis 4.0.11版本,学习字符串( ...
- Redis命令学习-Transaction(事务)
DISCARD DISCARD :取消事务,放弃运行事务块内的全部代码.假设在使用WATCH命令监视某个key.则取消监视,等同于UNWATCH. 返回值:总是返回ok. ...
随机推荐
- 理解 async/await 的执行
这是一篇简单的短文章,方便理解. 开局先丢官宣:sec-async-function-definitions 这个链接是对 await 的解释,解释了它的执行. await 的执行意味着(官宣巴拉巴拉 ...
- Shell脚本 | 抓取log文件
在安卓应用的测试过程中,遇到 Crash 或者 ANR 后,想必大家都会通过 adb logcat 命令来抓取日志定位问题.如果直接使用 logcat 命令的话,默认抓取出的 log 文件包含安卓运行 ...
- Chapter 3 Phenomenon——21
"Nobody will believe that, you know." “你知道吗没有人会相信会是这样的” His voice held an edge of derision ...
- 【云和恩墨】性能优化:Linux环境下合理配置大内存页(HugePage)
原创 2016-09-12 熊军 [云和恩墨]性能优化:Linux环境下合理配置大内存页(HugePage) 熊军(老熊) 云和恩墨西区总经理 Oracle ACED,ACOUG核心会员 PC S ...
- java学习-http中get请求的非ascii参数如何编码解码探讨
# 背景: 看着别人项目代码看到一个PathUtils工具类, 里面只有一个方法,String rebuild(String Path),将路径进行URLDecoder.decode解码,避免路径中 ...
- SSM整合——spring4.*配置案例
导入spring4.* 相关的jar包和依赖包即可 1.web.xml <?xml version="1.0" encoding="UTF-8"?> ...
- CRM项目完成实现
这两天我们都在写项目的接口与实现的! 今天主要是遇到的问题: 当我在添加新的班级的时候,班级的老师 我需要去判断这个老师是否存在,如果不存在的话,我就要把这个老师添加到学校的员工表中! 我会先判断这个 ...
- 程序员必知的8大排序(一)-------直接插入排序,希尔排序(java实现)
http://blog.csdn.net/pzhtpf/article/details/7559896 程序员必知的8大排序(一)-------直接插入排序,希尔排序(java实现) 程序员必知的8大 ...
- 【angular5项目积累总结】文件上传
<div class="form-group row"> <label class="col-sm-2 col-form-label"> ...
- HTML 常用小技巧 【标题图标】【锚点】【插入音乐,视频】【滚动效果】【嵌入网页】
一 在原页面嵌入其他页面 使用iframe框架 < iframe >------ < / iframe > <iframe src="要放在框架里面的网址或文 ...