Redis与Python交互怎么实现
Redis与Python交互怎么实现
这篇文章主要介绍了Redis与Python交互怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Redis与Python交互怎么实现文章都会有所收获,下面我们一起来看看吧。
1. Python 库安装
联网安装
pipinstallredis
使用源码安装
到中文官网查找客户端代码
unzipredis-py-master.zipcdredis-py-masterpythonsetup.pyinstall
2. 交互代码范例
1importredis234#1.连接Redis服务器5try:6r=redis.StrictRedis(host='localhost',port=6379)7exceptExceptionase:8print(e.message)910#2.读写数据11#方式一:根据数据类型的不同,调用相应的方法,完成读写12r.set('name','hello')#设置string数据13r.get('name')#读取string数据1415#方式二:使用pipline16#缓冲多条命令,然后一次性执行,减少数据传输频率,从而提高效率17pipe=r.pipeline()18pipe.set('name','world')19pipe.get('name')20pipe.execute()
3. Redis 操作封装
连接 Redis 服务器部分是一致的。
将 String 类型的读写进行封装。
1importredis234#Redis工具类5classRedisTool():67#初始化连接Redis8def__init__(self,host='localhost',port=6379):9self.__redis=redis.StrictRedis(host,port)1011#读取String值12defget(self,key):13ifself.__redis.exists(key):#如果键存在14returnself.__redis.get(key)15else:#否则返回空值16return""1718#设置String键值19defset(self,key,value):20self.__redis.set(key,value)
4. 应用范例:用户登录
业务过程如下:
输入用户名、密码
密码加密
判断 Redis 中是否记录了用户名,如果有则成功
如果 Redis 中没有用户名,则到 Mysql 中查询
从 Mysql 中查询成功后,将用户名记录到 Redis 中
1fromt2importRedisTool2fromt3importMysqlTool3importhashlib456name=input("请输入用户名:")7pwd=input("请输入密码:")89#密码加密10sha1=hashlib.sha1()11sha1.update(pwd)12pwd1=sha1.hexdigest()1314#判断Redis中是否存在该用户信息的缓存数据15try:16redis=RedisTool()17ifredis.get('uname')==name:18print('ok')19#不存缓存,则走数据库进行用户信息校验20else:21mysql=MysqlTool('localhost',3306,'test1','root','mysql')22upwd=mysql.get_one('selectupwdfromuserinfoswhereuname=%s',[name])23ifupwd==None:24print('用户名错误')25elifupwd[0]==pwd1:26redis.set('uname',name)#用户信息校验通过,则写入缓存27print('登录成功')28else:29print("密码错误")30exceptExceptionase:31print(e.message)
关于“Redis与Python交互怎么实现”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Redis与Python交互怎么实现”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注恰卡编程网行业资讯频道。
推荐阅读
-
Lightly IDE 快捷键:Python 开发者必学的效率提升操作
-
GitHub Codespaces 模板配置:快速初始化项目环境的技巧
-
Python 类型注解进阶:mypy 静态类型检查与 IDE 集成
-
Python 3.12 模式匹配增强:结构分解与多分支逻辑简化实战
-
Lightly IDE 快捷键定制:Python 开发者专属效率提升方案
-
Python 装饰器高级用法:类装饰器与元类结合实践
-
Python 生成器表达式优化:内存占用与迭代效率平衡技巧
-
Python 类型注解深度:Protocol 协议与泛型类型约束实践
-
Python 3.12 新特性解析:模式匹配增强与性能优化实战
-
Lightly IDE 深度评测:轻量级 Python 开发工具是否适合团队协作?