赞
踩
关注公众号“轻松学编程”了解更多。
Windows下直接解压可用,链接:https://pan.baidu.com/s/1rD4ujoN7h96TtHSu3sN_hA 密码:t02c
链接:https://pan.baidu.com/s/1Ndt61mEK2IFIugUkfdlzuw 密码:q8i5
方法一:
模块引入参考
中的安装第三方模块
方法二:
pip install redis
模块名称:redis。
import redis
client = redis.Redis(
host='localhost',
port=6379,
db=5,
password='123456'
)
ret = client.set("name", "bill")
print(client.get('name'))#b'bill'
print(ret, type(ret))#True <class 'bool'>
client.mset({'age': 60, 'gender': 'male'})
print(client.mget('name', 'age', 'gender'))#[b'bill', b'60', b'male']
client.hmset("p1", {'name': 'jobs', 'age': -1, 'gender': 'male'})
print(client.hgetall('p1'))#{b'name': b'jobs',
b'age': b'-1',
b'gender': b'male'}
client.lpush('mlist', 2, 3, 4)
print(client.lrange('mlist', 0, -1))#[b'4', b'3', b'2']
client.sadd('mset', 'bill', 'steve', '被KO的艺龙')
print(client.smembers('mset'))#{b'steve',
b'\xe8\xa2\xabKO\xe7\x9a\x84\xe8\x89\xba\xe9\xbe\x99',
b'bill'}
client.zadd('mzset', 'bill', 10, 'steve', 11, jack=8)
print(client.zrange('mzset',0,-1))#[b'jack', b'bill', b'steve']
print('GAME OVER!')
输出:
Connected to pydev debugger (build 173.4674.54)
b'bill'
True <class 'bool'>
[b'bill', b'60', b'male']
{b'name': b'jobs', b'age': b'-1', b'gender': b'male'}
[b'4', b'3', b'2']
{b'bill', b'\xe8\xa2\xabKO\xe7\x9a\x84\xe8\x89\xba\xe9\xbe\x99', b'steve'}
[b'jack', b'bill', b'steve']
GAME OVER!
'''
redis事务
·redis事务机制保证【正确事务代码】的原子性(全部执行或全部放弃)
·对于语法错误的代码,redis不支持异常和回滚
·redis的态度:语法错误应该在上线之前自行发现并修正
'''
import redis
txClient = redis.Redis(
host='localhost',
port=6379,
db=7,
password='123456' )
pipe = txClient.pipeline(transaction=True)
try:
pipe.watch('who', 'a', 'b', 'c')
pipe.multi()
pipe.set('who', 'leijun', ex=60 * 5)
print(pipe.get('who'))
pipe.hmset('p1', {'who': 'leijun', 'age': 50, 'word': 'are you ok'})
print(pipe.hgetall('p1')) # print(5 / 0)
# 普通业务异常,被try所捕获,事务不会提交
# pipe.incr("p1")
# redis语法错误,只有提交时才会发生异常且无法回滚,必须在上线前予以修正
pipe.incr('a')
pipe.incr('b')
pipe.incr('c')
except WatchError as we:
pipe.reset()#清空管道
print('监控数据被外界污染,事务已取消!we=',we)
except Exception as e:
print("bad luck:e=", e)
print('事务未提交')
else:
try:
pipe.execute()
print('事务已提交')
except Exception as e:
print('事务提交异常,请检查代码语法!e=',e)
输出:
Connected to pydev debugger (build 173.4674.54)
Pipeline<ConnectionPool<Connection<host=localhost,port=6379,db=7>>>
Pipeline<ConnectionPool<Connection<host=localhost,port=6379,db=7>>>
事务已提交
【后记】为了让大家能够轻松学编程,我创建了一个公众号【轻松学编程】,里面有让你快速学会编程的文章,当然也有一些干货提高你的编程水平,也有一些编程项目适合做一些课程设计等课题。
也可加我微信【1257309054】,拉你进群,大家一起交流学习。
如果文章对您有帮助,请我喝杯咖啡吧!
公众号
关注我,我们一起成长~~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。