您的位置:首页 > 数据库 > Redis

redis 由浅入深 之进阶(发布与订阅、事务、连接和Reids服务器)

2015-03-08 15:16 423 查看
Redis发布与订阅:

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

Redis 客户端可以订阅任意数量的频道。

下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:



当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端:



Redis 发布与订阅相关指令:

psubscribe(pattern, 匹配通道(待会详解)):订阅一个或多个符合给定模式的通道。
pubsub(channel):查看订阅与发布系统状态
publish(channel, content):将指定信息发布到指定通道中
punsubscribe(channel,匹配通道):退订所有符合模式的指定通道
subscribe(channel):订阅指定通道
unsubscribe(channel):退订指定通道

实列代码:



重点:redis 匹配模式语法:

每个模式以 * 作为匹配符,比如 it* 匹配所有以 it 开头的频道( it.news 、 it.blog 、 it.tweets 等等)。 news.* 匹配所有以 news. 开头的频道( news.it 、 news.global.today
等等),诸如此类。

Redis 事务:

Redis 事务可以一次执行多个命令, 并且带有以下两个重要的保证:

事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。
事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。

一个事务从开始到执行会经历以下三个阶段:

开始事务。
命令入队。
执行事务。

Redis事务相关指令:

discard:取消事务,放弃执行事务内包含的指令。
exec:执行事务中相关指令
multi:标记一个事务开始
unwatch:取消watch指令,对所有key的监视。
watch(key):用于监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断

实列代码:



Redis 连接:

Redis 连接命令主要是用于连接 redis 服务。

Redis 连接相关指令:

auth(password):用于检测给定的密码和配置文件中的密码是否相符。
echo(message):用于打印给定的字符串
ping:使用客户端向 Redis 服务器发送一个 PING ,如果服务器运作正常的话,会返回一个 PONG 。

通常用于测试与服务器的连接是否仍然生效,或者用于测量延迟值。

quit:用于关闭与当前客户端与redis服务的连接。一旦所有等待中的回复(如果有的话)顺利写入到客户端,连接就会被关闭。
select(index):用于切换到指定的数据库,数据库索引号
index 用数字值指定,以 0 作为起始索引值.

Redis 连接服务器就不做相关Demo 的演示,各位码农可以自己多多动手。

今天的内容已经讲解的比较多,还剩下Redis 服务器,我准备在下一章节中进行讲解。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: