温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Redis与Python交互怎么实现

发布时间:2022-03-29 16:04:19 来源:亿速云 阅读:158 作者:iii 栏目:移动开发

这篇文章主要介绍了Redis与Python交互怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Redis与Python交互怎么实现文章都会有所收获,下面我们一起来看看吧。

1. Python 库安装

联网安装

pip install redis

使用源码安装

到中文官网查找客户端代码

unzip redis-py-master.zip
cd redis-py-master
python setup.py install

2. 交互代码范例

 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()

3. Redis 操作封装

  • 连接 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)

4. 应用范例:用户登录

业务过程如下:

  1. 输入用户名、密码

  2. 密码加密

  3. 判断 Redis 中是否记录了用户名,如果有则成功

  4. 如果 Redis 中没有用户名,则到 Mysql 中查询

  5. 从 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交互怎么实现”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI