Python學習20
阿新 • • 發佈:2020-12-31
redis資料庫相關操作(redis資料庫的搭建)
1、redis資料庫的搭建
1、建立redis資料庫環境:
- 在cmd中輸入:pip install redis 安裝redis包
- 然後找到redis的解壓包中的redis-server.exe並開啟不要關閉:
- 安裝redisdesktopmanager,開啟該軟體:
- 最後可根據connect to redis server來連線資料庫
-
2、python連線redis資料庫
#!/usr/bin/env python # -*- coding:utf-8 -*- import redis r = redis.Redis(host='192.168.0.110', port=6379,db=0) r.set('name', 'zhangsan') #新增 print (r.get('name')) #獲取
-
3、連線池
redis-py使用connection pool來管理對一個redis server的所有連線,避免每次建立、釋放連線的開銷#!/usr/bin/env python # -*- coding:utf-8 -*- import redis pool = redis.ConnectionPool(host='192.168.0.110', port=6379) r = redis.Redis(connection_pool=pool) r.set('name', 'zhangsan') #新增 print (r.get('name')) #獲取
-
4、管道
- redis-py預設在執行每次請求都會建立(連線池申請連線)和斷開(歸還連線池)一次連線操作,如果想要在一次請求中指定多個命令,則可以使用pipline實現一次請求指定多個命令,並且預設情況下一次pipline是原子性操作
#!/usr/bin/env python # -*- coding:utf-8 -*- 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('name', 'zhangsan') r.set('name', 'lisi') pipe.execute()
-
5、釋出和閱讀
- 首先定義一個RedisHelper類,連線Redis,定義頻道為monitor,定義釋出(publish)及訂閱(subscribe)方法
#!/usr/bin/env python #-*- coding:utf-8 -*- import redis class RedisHelper(object): def __init__(self): self.__conn = redis.Redis(host='192.168.0.110',port=6379)#連線Redis self.channel = 'monitor' #定義名稱 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
-
- 釋出者
#!/usr/bin/env python # -*- coding:utf-8 -*- #釋出 from RedisHelper import RedisHelper obj = RedisHelper() obj.publish('hello')#釋出
-
- 訂閱者
#!/usr/bin/env python # -*- coding:utf-8 -*- #訂閱 from RedisHelper import RedisHelper obj = RedisHelper() redis_sub = obj.subscribe()#呼叫訂閱方法 while True: msg= redis_sub.parse_response() print (msg)