![]()
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','xxx@qq.com')