这篇文章主要介绍了redis与Python交互怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Redis与Python交互怎么实现文章都会有所收获,下面我们一起来看看吧。
创新互联公司是一家集做网站、网站设计、网站页面设计、网站优化SEO优化为一体的专业网络公司,已为成都等多地近百家企业提供网站建设服务。追求良好的浏览体验,以探求精品塑造与理念升华,设计最适合用户的网站页面。 合作只是第一步,服务才是根本,我们始终坚持讲诚信,负责任的原则,为您进行细心、贴心、认真的服务,与众多客户在蓬勃发展的市场环境中,互促共生。
pip install redis
到中文官网查找客户端代码
unzip redis-py-master.zip cd redis-py-master python setup.py install
1 import redis 2 3 4 # 1.连接 Redis 服务器 5 try: 6 r=redis.StrictRedis(host='localhost', port=6379) 7 except Exception as e: 8 print(e.message) 9 10 # 2.读写数据11 # 方式一:根据数据类型的不同,调用相应的方法,完成读写12 r.set('name','hello') # 设置 string 数据13 r.get('name') # 读取 string 数据14 15 # 方式二:使用 pipline16 # 缓冲多条命令,然后一次性执行,减少数据传输频率,从而提高效率17 pipe = r.pipeline()18 pipe.set('name', 'world')19 pipe.get('name')20 pipe.execute()
连接 Redis 服务器部分是一致的。
将 String 类型的读写进行封装。
1 import redis 2 3 4 # Redis 工具类 5 class RedisTool(): 6 7 # 初始化连接 Redis 8 def __init__(self, host='localhost', port=6379): 9 self.__redis = redis.StrictRedis(host, port)10 11 # 读取 String 值12 def get(self, key):13 if self.__redis.exists(key): # 如果键存在14 return self.__redis.get(key)15 else: # 否则返回空值16 return ""17 18 # 设置 String 键值 19 def set(self, key, value):20 self.__redis.set(key, value)
业务过程如下:
输入用户名、密码
密码加密
判断 Redis 中是否记录了用户名,如果有则成功
如果 Redis 中没有用户名,则到 MySQL 中查询
从 Mysql 中查询成功后,将用户名记录到 Redis 中
1 from t2 import RedisTool 2 from t3 import MysqlTool 3 import hashlib 4 5 6 name=input("请输入用户名:") 7 pwd=input("请输入密码:") 8 9 # 密码加密10 sha1=hashlib.sha1()11 sha1.update(pwd)12 pwd1=sha1.hexdigest()13 14 # 判断 Redis 中是否存在该用户信息的缓存数据15 try:16 redis=RedisTool()17 if redis.get('uname') == name:18 print('ok')19 # 不存缓存,则走数据库进行用户信息校验20 else:21 mysql = MysqlTool('localhost', 3306, 'test1', 'root', 'mysql')22 upwd = mysql.get_one('select upwd from userinfos where uname=%s', [name])23 if upwd == None:24 print('用户名错误')25 elif upwd[0] == pwd1:26 redis.set('uname', name) # 用户信息校验通过,则写入缓存27 print('登录成功')28 else:29 print("密码错误")30 except Exception as e:31 print(e.message)
关于“Redis与Python交互怎么实现”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Redis与Python交互怎么实现”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注创新互联行业资讯频道。