Redis的管道,發布訂閱

2022-05-11 15:09:14 字數 1730 閱讀 4440

4、管道

redis-py預設在執行每次請求都會建立(連線池申請連線)和斷開(歸還連線池)一次連線操作,如果想要在一次請求中指定多個命令,則可以使用pipline實現一次請求指定多個命令,並且預設情況下一次pipline 是原子性操作。

#!/usr/bin/env python

# -*- coding:utf-8 -*-

import redis

pool = redis.connectionpool(host='10.211.55.4', port=6379)

r = redis.redis(connection_pool=pool)

# pipe = r.pipeline(transaction=false)

pipe = r.pipeline(transaction=true)

pipe.set('name', 'alex')

pipe.set('role', 'sb')

pipe.execute()

5、發布訂閱

發布者:伺服器

訂閱者:dashboad和資料處理

demo如下:

#

!/usr/bin/env python

#-*- coding:utf-8 -*-

import

redis

class

redishelper:

def__init__

(self):

self.

__conn = redis.redis(host='

10.211.55.4')

self.chan_sub = '

fm104.5

'self.chan_pub = '

fm104.5

'def

public(self, msg):

self.

__conn

.publish(self.chan_pub, msg)

return

true

defsubscribe(self):

pub = self.__conn

.pubsub()

pub.subscribe(self.chan_sub)

pub.parse_response()

return pub

redishelper

訂閱者:

#!/usr/bin/env python

# -*- coding:utf-8 -*-

from monitor.redishelper import redishelper

obj = redishelper()

redis_sub = obj.subscribe()

while true:

msg= redis_sub.parse_response()

print msg

發布者:

#!/usr/bin/env python

# -*- coding:utf-8 -*-

from monitor.redishelper import redishelper

obj = redishelper()

obj.public('hello')

Redis 發布訂閱

redis 發布訂閱 pub sub 是一種訊息通訊模式 傳送者 pub 傳送訊息,訂閱者 sub 接收訊息。redis 客戶端可以訂閱任意數量的頻道。下圖展示了頻道 channel1 以及訂閱這個頻道的三個客戶端 client2 client5 和 client1 之間的關係 當有新訊息通過 pu...

Redis 發布訂閱

redis 發布訂閱 pub sub 是一種訊息通訊模式 傳送者 publish 傳送訊息,訂閱者 subscribe 接收訊息。redis 客戶端可以訂閱任意數量的頻道。下圖是 頻道 channel1 以及訂閱這個頻道的三個客戶端 client1 client2和 client3 當有新訊息通過 ...

Redis發布訂閱

概述 redis發布訂閱 pub sub 是種訊息通訊模式 傳送者 pub 傳送訊息,訂閱者 sub 訂閱訊息。redis客戶端可以訂閱任意數量的頻道。下圖展示了頻道channel以及訂閱它的三個客戶端 client2 client5和client1之間的關係 當有新的訊息publish到chann...