Python連線Redis
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啦
相關文章
- day40-Python連線RedisPythonRedis
- 如何掌握python連線redis資料庫?PythonRedis資料庫
- python2.7連線操作redis的幾種方法PythonRedis
- Laravel redis 連不同的連線LaravelRedis
- 使用telnet連線redisRedis
- 【Azure Cache for Redis】Python Djange-Redis連線Azure Redis服務遇上(104, 'Connection reset by peer')RedisPython
- go~連線redis的方法GoRedis
- Redis 可以讓工具連線Redis
- windwos 使用telnet 連線 redisRedis
- 【Azure Redis 快取 Azure Cache For Redis】Redis連線池Redis快取
- 【Azure Redis 快取】 Python連線Azure Redis, 使用redis.ConnectionPool 出現 "ConnectionResetError: [Errno 104] Connection reset by peer"Redis快取PythonError
- Python 連線 MySQLPythonMySql
- python連線MySQLPythonMySql
- ServiceStack.Redis的原始碼分析(連線與連線池)Redis原始碼
- 教你如何用node連線redisRedis
- 3.2.2 python連線oraclePythonOracle
- mysql、redis 客戶端連線池MySqlRedis客戶端
- Redis連線超時排查實錄Redis
- Redis 可以讓工具連線 小技巧Redis
- docker 安裝redis 以及配置連線DockerRedis
- Redis客戶端連線數DevOpsRedis客戶端dev
- java操作redis叢集連線池JavaRedis
- 實現一個redis連線池Redis
- python 怎麼連線 sql server,不是連線 mysqlPythonServerMySql
- python 連線 mongo 資料庫連線超時PythonGo資料庫
- linux安裝redis和遠端連線LinuxRedis
- Jedis使用連線池操作redis叢集Redis
- python怎麼連線mysqlPythonMySql
- python下pyodbc連線sybasePython
- 今天,你遇到redis線上連線超時了嗎?Redis
- redis 原始碼分析:Jedis 哨兵模式連線原理Redis原始碼模式
- 阿里雲伺服器遠端連線redis阿里伺服器Redis
- Python連線MySQL資料庫PythonMySql資料庫
- python資料庫連線池Python資料庫
- 使用Python連線資料庫Python資料庫
- Python 連線 Oracle資料庫PythonOracle資料庫
- Python連線SQLite資料庫PythonSQLite資料庫
- Python實現MySQL連線池PythonMySql
- 配置redis伺服器允許遠端連線Redis伺服器