本篇基于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数据库】Java 使用 jedis

【Redis数据库】命令学习笔记——发布订阅、事务、脚本、连接等命令汇总的更多相关文章

  1. EF6学习笔记(四) 弹性连接及命令拦截调试

    EF6学习笔记总目录:ASP.NET MVC5 及 EF6 学习笔记 - (目录整理) 本章原文地址:Connection Resiliency and Command Interception 原文 ...

  2. linux命令学习笔记(27):linux chmod命令

    chmod命令用于改变linux系统文件或目录的访问权限.用它控制文件或目录的访问权限.该命令有两种用法.一种是 包含字母和操作符表达式的文字设定法:另一种是包含数字的数字设定法. Linux系统中的 ...

  3. FFmpeg常用命令学习笔记(五)裁剪与合并命令

    裁剪与合并命令 1.音视频裁剪 ffmpeg -i input.mp4 -ss 00:01:00 -t 10 out.mp4 -ss:起始时间(HH:MM:SS).-t:裁剪时长(秒) 2.视频合并 ...

  4. Linux命令学习笔记目录

    Linux命令学习笔记目录 最近正在使用,linux,顺便将用到的命令整理了一下. 一. 文件目录操作命令: 0.linux命令学习笔记(0):man 命令 1.linux命令学习笔记(1):ls命令 ...

  5. 【Redis】命令学习笔记——键(key)(20个超全字典版)

    安装完redis和redis-desktop-manager后,开始学习命令啦!本篇基于redis 4.0.11版本,从对键(key)开始挖坑! 准备工作,使用db1(默认db0,由于之前练习用db0 ...

  6. 【Redis】命令学习笔记——列表(list)+集合(set)+有序集合(sorted set)(17+15+20个超全字典版)

    本篇基于redis 4.0.11版本,学习列表(list)和集合(set)和有序集合(sorted set)相关命令. 列表按照插入顺序排序,可重复,可以添加一个元素到列表的头部(左边)或者尾部(右边 ...

  7. 【Redis】命令学习笔记——哈希(hash)(15个超全字典版)

    本篇基于redis 4.0.11版本,学习哈希(hash)相关命令. hash 是一个string类型的field和value的映射表,特别适合用于存储对象. 序号 命令 描述 实例 返回 HSET ...

  8. 【Redis】命令学习笔记——字符串(String)(23个超全字典版)

    Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). 本篇基于redis 4.0.11版本,学习字符串( ...

  9. Redis命令学习-Transaction(事务)

    DISCARD ​DISCARD :取消事务,放弃运行事务块内的全部代码.假设在使用WATCH命令监视某个key.则取消监视,等同于UNWATCH. ​返回值:总是返回ok.    ​     ​ ...

随机推荐

  1. Redis3.2.4 Cluster集群搭建

    服务器环境:192.168.1.105192.168.1.160每台服务器搭建3个节点,组成3个主节点,3个从节点的redis集群. 注意:防火墙一定要开放监听的redis端口,否则会创建失败. 一. ...

  2. 26-hadoop-hbase简介

    hadoop的生态系统 1, hbase简介 –HBase–HadoopDatabase,是一个高可靠性.高性能.面向列.可伸缩.实时读写的分布式数据库 –利用HadoopHDFS作为其文件存储系统, ...

  3. Linux进程间的通信

    一.管道 管道是Linux支持的最初Unix IPC形式之一,具有以下特点: A. 管道是半双工的,数据只能向一个方向流动: B. 需要双工通信时,需要建立起两个管道: C. 只能用于父子进程或者兄弟 ...

  4. Hibernate常出现的报错

    刚开始学习hibernate的时候,第一次就遇到了空指针异常,结果是我的配置文件处理错误(主要是数据库表的字段与就java实体类的属性名单词写错了):一般是报空指针异常的话,多半是配置文件的问题. 但 ...

  5. Spark(1.6.1) Sql 编程指南+实战案例分析

    首先看看从官网学习后总结的一个思维导图 概述(Overview) Spark SQL是Spark的一个模块,用于结构化数据处理.它提供了一个编程的抽象被称为DataFrames,也可以作为分布式SQL ...

  6. 项目复审——Alpha阶段

    Deadline: 2018-5-19 10:00PM,以提交至班级博客时间为准. 5.10实验课上,以(1.2班级,3.4班级为单位)进行项目复审.根据以下要求,完成本团队对其他团队的复审排序. 参 ...

  7. sqlplus sys as sysdba

    Enter user-name:sys Enter password:password as sysdba --以sys用户登陆的话 必须要加上 as sysdba 子句

  8. es6学习笔记4--数组

    数组的扩展 Array.from() Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括ES6新增的数据 ...

  9. [USACO 07DEC]Best Cow Line, Gold

    Description 题库链接 给以长度为 \(n\) 的字符串,要求每次只能从两边取一个字符,使得取出来之后字典序最小. \(1\leq n\leq 30000\) Solution 将字符串翻转 ...

  10. [转]Easily Add a Ribbon into a WinForms Application

    本文转自:https://www.codeproject.com/articles/364272/easily-add-a-ribbon-into-a-winforms-application-cs ...