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
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被其他命令所改动,那么事务将被打断 |
作者:闫世成
出处:http://cnblogs.com/yanshicheng
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。如有问题或建议,请联系上述邮箱,非常感谢。