5. redis管道, 发布订阅, 模拟队列

一. 发布订阅

#订阅scribe
127.0.0.1:6379> SUBSCRIBE "channel_1"
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "channel_1"
3) (integer) 1
1) "message"
2) "channel_1"
3) "haha"
1) "message"
2) "channel_1"
3) "hello world"
#发布消息publish
127.0.0.1:6379> publish "channel_1" haha
(integer) 1
127.0.0.1:6379> publish "channel_1" "hello world"
(integer) 1

二. 模拟队列

  1. 普通队列 : 对list进行lpush , rpop
  2. 优先级队列 :

    brpop list1 list2 list3 timeout // 先从list1取,list1没有数据了再从list2取

三. pipline管道

  1. redis的管道相当于把多条命令批处理, 使原来多条命令需要多次连接服务器转为多条命令连接一次服务器
  2. pipline在命令行下没有,jedis有
/** pipline */
public void test3(){
Pipeline pipelined = jedis.pipelined();
for (int i = 0; i < 100; i++) {
pipelined.set("str"+i,i+"");
}
pipelined.sync(); // 提交管道
}
上一篇:使用python获得屏幕截图并保存为位图文件


下一篇:debian 学习记录-4 -关于linux -2