python 操作redis
阿新 • • 發佈:2018-10-11
郵件 message pubsub 定義 == red 技術 分享 chan
from redis import Redis cache = Redis(host=‘192.168.0.101‘,port=6379,password=‘wuheng‘) #1.操作字符串 # cache.set(‘username‘,‘zhiliao‘) # cache.delete(‘username‘) # cache.set(‘password‘,‘wuheng‘) # cache.delete(‘username‘)#刪除key #列表的操作 # cache.lpush(‘languages‘,‘java‘)#從左到右的插入列表, # cache.lpush(‘languages‘,‘python‘)# cache.lpush(‘languages‘,‘php‘) # # print(cache.lrange(‘languages‘,0,-1))#獲取列表中所有元素 #集合的操作 # cache.sadd(‘team‘,‘11‘) # cache.sadd(‘team‘,‘123‘) # print(cache.smembers(‘team‘))#獲取集合中所有元素 #哈希的操作 # cache.hset(‘website‘,‘baidu‘,‘www.baidu.com‘) # cache.hset(‘website‘,‘mokw‘,‘www.mokewang.com‘) # print(cache.hgetall(‘website‘))#獲取所有字典中的值# {b‘baidu‘: b‘www.baidu.com‘, b‘mokw‘: b‘www.mokewang.com‘} #事物的操作 #定義一個管道和一個實例 # pip = cache.pipeline() # pip.set(‘username‘,‘zhiliao‘) # pip.set(‘username‘,‘123456‘) # pip.execute()#執行這個事物,事物要摸執行,不然全部不執行 #發布與訂閱 #異步發送郵件的功能 ps = cache.pubsub()#創建一個訂閱的對象 ps.subscribe(‘email‘)#,訂閱email頻道 while True:# ps.listen()#監聽 返回值是一個生成器 for item in ps.listen(): print(item)#這個時候就可以處理一些操作 if item[‘type‘] == ‘message‘ and item[‘channel‘] == b‘email‘: data = item[‘data‘] print(data.decode(‘utf-8‘))
from redis import Redis cache = Redis(host=‘192.168.0.101‘,port=6379,password=‘wuheng‘) #發布三個郵件消息 for x in range(3): cache.publish(‘email‘,‘[email protected]‘)
python 操作redis