Python串連Redis

來源:互聯網
上載者:User

標籤:0.11   publish   關係型資料庫   畢業   其他   良好的   err   參考   訂閱   

Redis: 是一個高效能的key-value資料庫。

簡單來說就是:當你使用關係型資料庫、檔案或者其他介質存東西,效能不好反應慢,這個時候就要拿個東西做緩衝。同類產品有好幾種,目前比較流行,在我司進行商用的就是這個。目前,這玩意在叢集狀態下,為我們的百萬級並發提供良好的支援。

今天,我們就來簡單聊聊,如何用python操作redis。

牛小妹,把這個放進你的畢業設計,又能錦上添花哦。

redis的安裝,參考文章

1.python 串連redis

普通串連

import redis

#後面是地址 連接埠
r = redis.Redis(host=‘127.0.0.1‘, port=6379)

2.串連池

redis-py使用connection pool來管理對一個redis server的所有串連,避免每次建立、釋放串連的開銷

import redis

pool = redis.ConnectionPool(host=‘192.168.0.110‘, port=6379)
r = redis.Redis(connection_pool=pool)

3.管道

redis-py,預設情況下,每次都會進行串連池的串連和斷開。若是想一次執行多條命令,進行事務性操作,就要用管道。

import redis

pool = redis.ConnectionPool(host=‘192.168.0.110‘, port=6379)
r = redis.Redis(connection_pool=pool)
pipe = r.pipeline(transaction=True)

r.set(‘zcx‘, ‘5555‘)
r.set(‘zcx‘, ‘6666‘)

pipe.execute()

說明:雖然提供了這麼一個功能。但實際情況還是不建議使用。因為這個執行起來慢。另一方面,也沒必要

4.發布訂閱

在我們學習作業系統這本書的時候,裡面有個生產者和消費者。在這裡,我試著用redis來類比

定義公用的類,封裝方法和初始化串連

import redis
class redis_util(object):
def __init__(self):
self.__conn = redis.Redis(host=‘127.0.0.1‘, port=6379)
self.channel = ‘mybaby‘ # 定義通道名稱

def publish(self, msg): # 定義發布的方法
self.__conn.publish(self.channel, msg)
return True

def subscribe(self): # 定義訂閱的方法
pub = self.__conn.pubsub()
pub.subscribe(self.channel)
pub.parse_response()
return pub

 

publisher發行者:

from polls.redis_utils import redis_util

obj = redis_util()
obj.publish(‘test‘)

 

subscriber訂閱者:

from polls.redis_utils import redis_util

obj = redis_util()
redis_sub = obj.subscribe()

while True:
msg = redis_sub.parse_response()
print(msg)

至於發布訂閱。只是表達有這麼一個功能。但是,不建議用。後面,我將和大家一起,更深入的討論這方面的問題。

好啦,今晚就玩到這,要去陪我家小baby啦

Python串連Redis

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.