Redis-消费模式

一 . 两种模式简介

  • 发布消息通常有两种模式:队列模式(queuing)和发布订阅模式(qublish-subscribe)。队列模式中,consumers可以同时从服务端读取消息,每个消息纸杯其中一个consumer读到
  • 发布-订阅模式中消息被广播到所有的consumer中,topic中的消息将被分发到组中的一个成员中,同一组中的consumer可以在不同的程序中,也可以在不同的机器上。

1.1.1 生产消费模式(队列模式),(案例生产包子,消费者消费先消费最新生产的)

 1 127.0.0.1:6379> lpush bao bao1
 2 (integer) 1
 3 127.0.0.1:6379> lpush bao bao2
 4 (integer) 2
 5 127.0.0.1:6379> lpush bao bao3
 6 (integer) 3
 7 127.0.0.1:6379> lrange bao 0 10
 8 1) "bao3"
 9 2) "bao2"
10 3) "bao1"
11 127.0.0.1:6379> lpush bao bao4
12 (integer) 4
13 127.0.0.1:6379> lpush bao bao6
14 (integer) 5
15 127.0.0.1:6379> rpop bao
16 "bao1"
17 127.0.0.1:6379> rpop bao
18 "bao2"
19 127.0.0.1:6379> rpop bao
20 "bao3"
21 127.0.0.1:6379> lrange bao 0 10
22 1) "bao6"
23 2) "bao4"
24 127.0.0.1:6379> lpush bao bao7
25 (integer) 3
26 127.0.0.1:6379> lpush bao bao8
27 (integer) 4
View Code

1.1.2 发布订阅模式

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

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

subscribe dd1 订阅给定的一个或者多个频道的信息                                        
publish dd1 "haha af fadg gdsg" 将消息发送到指定的频道

pubsub numsub dd1

打印频道订阅者数量
pubsub channels 显示订阅频道
punsubscribe 退订多个频道
unsubscribe 退订频道

1.1.3 Redis 事务

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

  原子性:事务中的命令要么全部执行,要么全部不执行

执行过程

  • 开始事务
  • 命令入队
  • 执行事务
siscare 取消事务,放弃执行事务模块内的所有命令
exec 执行所有事务块内的命令
multi 标记一个事务块的开始
unwatch 取消watch命令对所有key的监视
watch key key 监视一个或多个key,如果事务执行之前这个(或这些)key被其他命令所改动,那么事务将被打断
posted @ 2018-07-26 15:49  闫世成  阅读(2084)  评论(0编辑  收藏  举报