〖python 数据库开发实战 - python与redis交互篇②〗- 利用 redis-py 实现字符串类型的常用指令操作_不渴望力量的哈士奇的博客-爱代码爱编程
前言:
✌ 作者简介:渴望力量的哈士奇 ✌,大家可以叫我 🐶哈士奇🐶 ,一位致力于 TFS - 全栈 赋能的博主 ✌
🏆 CSDN博客专家认证、新星计划第三季全栈赛道 MVP 、华为云享专家、阿里云专家博主 🏆
📫 如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步👀
💬 人生格言:优于别人,并不高贵,真正的高贵应该是优于过去的自己。💬
🔥 如果感觉博主的文章还不错的话,还请👍关注、点赞、收藏三连支持👍一下博主哦
专栏系列(点击解锁) 学习路线(点击解锁) 知识定位 🔥Python全栈白皮书🔥 零基础入门篇 以浅显易懂的方式轻松入门,让你彻底爱上Python的魅力。 语法进阶篇 主要围绕多线程编程、正则表达式学习、含贴近实战的项目练习 。 自动化办公篇 实现日常办公软件的自动化操作,节省时间、提高办公效率。 自动化测试实战篇 从实战的角度出发,先人一步,快速转型测试开发工程师。 数据库开发实战篇 掌握关系型与非关系数据库知识,提升数据库实战开发能力。 爬虫入门与实战 更新中 数据分析篇 更新中 前端入门+flask 全栈篇 更新中 django+vue全栈篇 更新中 拓展-人工智能入门 更新中 网络安全之路 踩坑篇 记录学习及演练过程中遇到的坑,便于后来居上者 网安知识扫盲篇 三天打鱼,不深入了解原理,只会让你成为脚本小子。 vulhub靶场漏洞复现 让漏洞复现变得简单,让安全研究者更加专注于漏洞原理本身。 shell编程篇 不涉及linux基础,最终案例会偏向于安全加固方向。 [待完结] WEB漏洞攻防篇 2021年9月3日停止更新,转战先知社区等安全社区及小密圈 渗透工具使用集锦 2021年9月3日停止更新,转战先知社区等安全社区及小密圈 点点点工程师 测试神器 - Charles 软件测试数据包抓包分析神器 测试神器 - Fiddler 一文学会 fiddle ,学不会倒立吃翔,稀得! 测试神器 - Jmeter 不仅是性能测试神器,更可用于搭建轻量级接口自动化测试框架。 RobotFrameWork Python实现的自动化测试利器,该篇章仅介绍UI自动化部分。 Java实现UI自动化 文档写于2016年,Java实现的UI自动化,仍有借鉴意义。 MonkeyRunner 该工具目前的应用场景已不多,文档已删,为了排版好看才留着。
在上一章节,针对 redis-py 这个模块我们也算是入门了,感觉还是挺简单的。接下来就继续学习 redis-py 这个模块的针对 字符串数据类型的一些常用操作。
🐳 字符串数据的简单读写操作
- 简单的示例:
(与之前在 redis 中执行的指令基本上相同)
# 这里的 r 代表的就是创建的连接的意思 r.set("name", "Neo") # 在 redis 中设置一个字符串使用的就是 set 指令,在 redis-py 中同样如此。 r.set("age", "18") r.set("sex", "man") name = r.get("name").decode("utf-8") # 利用 get 指令可以获得 key 为 name 的记录;(需要注意转码问题,不转码情况下可能会出现乱码) print(name)
example.py
模块演示案例如下:
# coding:utf-8 import redis from redis_db import redis_Pool # 导入 redis_db模块 的 redis_Pool """ 创建 redis 连接 """ con = redis.Redis( connection_pool=redis_Pool ) """ 利用 redis-py 实现对字符串数据的简单读写操作(逻辑库 0) """ con.set("name", "Neo") # 在 redis 中设置一个字符串使用的就是 set 指令,在 redis-py 中同样如此。 con.set("age", "18") con.set("sex", "man") name = con.get("name").decode("utf-8") # 利用 get 指令可以获得 key 为 name 的记录;(需要注意转码问题,不转码情况下可能会出现乱码) print(name) """ 删除 redis 连接 (redis连接被删除后,会自动被 Python 的垃圾回收机制回收) """ del con
🐳 字符串数据的删除操作
- 在 redis 中可以通过 “del” 指令实现记录的删除,但是 “redis-py” 中并没有 “del” 函数,而是使用了 “delete” 这个函数,利用该函数达成删除记录的操作。示例如下:
con.delete("key","value")
- 重点是第 26 行 - 第 29 行
# coding:utf-8 import redis from redis_db import redis_Pool # 导入 redis_db模块 的 redis_Pool """ 创建 redis 连接 """ con = redis.Redis( connection_pool=redis_Pool ) """ 利用 redis-py 实现对字符串数据的简单读写操作(逻辑库 0) """ con.set("name", "Neo") # 在 redis 中设置一个字符串使用的就是 set 指令,在 redis-py 中同样如此。 con.set("age", "18") con.set("sex", "man") name = con.get("name").decode("utf-8") # 利用 get 指令可以获得 key 为 name 的记录;(需要注意转码问题,不转码情况下可能会出现乱码) print(name) """ 利用 redis-py 实现对字符串记录的删除操作 """ con.delete("name", "sex") """ 删除 redis 连接 (redis连接被删除后,会自动被 Python 的垃圾回收机制回收) """ del con
🐳 字符串数据的多条记录写入操作
- 在 redis 中,操作写入多个字符串的命令叫 “mset” ,在 “redis-py” 中依然使用 “mset” 写入多个字符串
- 但是有一点需要注意的地方:在传入多个子串的参数时,必须以 “字典” 的格式传入。示例如下:
con.mset({"name": "Neo", "sex": "man", "phoneNo": "13312344321"})
- 重点是第 32 行 - 第 35 行
# coding:utf-8 import redis from redis_db import redis_Pool # 导入 redis_db模块 的 redis_Pool """ 创建 redis 连接 """ con = redis.Redis( connection_pool=redis_Pool ) """ 利用 redis-py 实现对字符串数据的简单读写操作(逻辑库 0) """ con.set("name", "Neo") # 在 redis 中设置一个字符串使用的就是 set 指令,在 redis-py 中同样如此。 con.set("age", "18") con.set("sex", "man") name = con.get("name").decode("utf-8") # 利用 get 指令可以获得 key 为 name 的记录;(需要注意转码问题,不转码情况下可能会出现乱码) print(name) """ 利用 redis-py 实现对字符串记录的删除操作 """ con.delete("name", "sex") """ 利用 redis-py 实现一次性写入多个字符串记录的操作 """ con.mset({"name": "Neo", "sex": "man", "phoneNo": "13312344321"}) """ 删除 redis 连接 (redis连接被删除后,会自动被 Python 的垃圾回收机制回收) """ del con
🐳 字符串数据的多条记录读取操作
- 通过 “redis-py” 获得多个字符串记录的指令与 “redis” 一样,使用的都是 “mget” ,传入要获得的记录的 “key” 即可。
- 需要注意的是,“redis-py” 模块的 “mget” 函数返回的数据类型是 “元组类型” 的。
- 可以通过 for 循环的方式,从元组里取出元素输出到控制台。
- 重点是第 38 行 - 第 44 行
# coding:utf-8 import redis from redis_db import redis_Pool # 导入 redis_db模块 的 redis_Pool """ 创建 redis 连接 """ con = redis.Redis( connection_pool=redis_Pool ) """ 利用 redis-py 实现对字符串数据的简单读写操作(逻辑库 0) """ con.set("name", "Neo") # 在 redis 中设置一个字符串使用的就是 set 指令,在 redis-py 中同样如此。 con.set("age", "18") con.set("sex", "man") name = con.get("name").decode("utf-8") # 利用 get 指令可以获得 key 为 name 的记录;(需要注意转码问题,不转码情况下可能会出现乱码) print(name) """ 利用 redis-py 实现对字符串记录的删除操作 """ con.delete("name", "sex") """ 利用 redis-py 实现一次性写入多个字符串记录的操作 """ con.mset({"name": "Neo", "sex": "man", "phoneNo": "13312344321"}) """ 利用 redis-py 实现一次性读取多个字符串记录的操作 """ result = con.mget("name", "age", "sex", "phoneNo") for userinfo in result: print(userinfo.decode("utf-8")) """ 删除 redis 连接 (redis连接被删除后,会自动被 Python 的垃圾回收机制回收) """ del con
这里是我们简单的实现了字符串数据的读写小栗子,还有 哈希表 的读写、 列表的读写等等,将在后续的章节为大家介绍。拜了个拜!