【python + Redis】hash值查增删

news/2024/10/23 20:37:48/

文章目录

  • 前置步骤
  • 一、查
  • 二、增
  • 三、删

前置步骤

pip install redis
# -*- coding: utf-8 -*-
import redis
#这个redis不能用,请根据自己的需要修改
r =redis.Redis(host="127.0.0.1",port=6379,password="123456", db=0)

Redis库数据

keyvalue
1{“id”: 1, “name”: “xxx”, “age”: “18”, “sex”: “\u7537”}
2{“id”: 2, “name”: “xxx”, “age”: “15”, “sex”: “\u5973”}
3{“id”: 3, “name”: “xxx”, “age”: “18”, “sex”: “\u7537”}

一、查

1.定义列表list_r1,存储查询到的数据
2.定义data,用r.hgetall方法获取哈希表的所有字段和值,
3.循环遍历出行数据,转成字典类型
4.最后用if all方法将库中字段与之相匹配的数据查出,添入list_r1

# hash查
def get_hv(redis_name,params):list_r1 = []data=r.hgetall(redis_name)for k,v in data.items():row_data = json.loads(v.decode('utf-8'))if all(row_data.get(key,False)==val for key,val in params.items()):list_r1.append(row_data)print("list_r1:",list_r1)return list_r1

二、增

1.params[“id”]要与Mysql数据库中的自增id相同
2.这里用到了r.hset方法,格式为: r.hset(表名,key,value)
3.注意value不能使用字典类型,我们需要用json.dumps转字符串

# hash增
def set_hv(hash,params):if params.get("id",False):r.hset(hash,params["id"],json.dumps(params))return True

三、删

# hash删
def del_hv(hash,params):if params.get("id",False):r.hdel(hash,params["id"],json.dumps(params))return Trueelse:return False

http://www.ppmy.cn/news/1541438.html

相关文章

Zookeeper面试整理-Zookeeper的核心功能

Zookeeper 作为一个分布式协调服务,提供了许多关键的功能,这些功能帮助开发人员解决分布式系统中的一致性、协调和同步问题。以下是 Zookeeper 的核心功能: 1. 配置管理(Configuration Management) Zookeeper 提供了一个分布式应用程序的集中配置存储。通过 Zookeeper,可…

代码工艺:写代码的好习惯

1. 充分校验入参 有一句话叫 “All input is evil”,即一切的输入都可能是恶意的。 因此,经验丰富的工程师会对接口的入参进行严格的校验,从最基础的非空、长度校验,到复杂的业务逻辑校验都不应忽略。例如,在典型的电…

数智合同 | 业财一体与履约联动的数字化转型

随着信息化技术的发展,合同数智化管理为应对合同管理挑战提供了新机遇。企业需要深入思考数智化手段在合同管理中的应用,以提高合同管理水平,应对新形势下的市场竞争挑战与合规要求,实现企业的高质量发展。 2024年5月,…

esxi配置磁盘直通虚拟机

基于VMware Exsi环境,考虑到特殊业务需求,需要直接将磁盘数据提供给虚拟机使用。 打开SSH服务 登录VMware vSphere Web Client控制台,主机-服务中启用安全Shell(SSH),通过SSH登录esxi服务器 配置磁盘直通 # 通过VMware vSpher…

vue3中可组合函数的应用场景

可组合函数(Composables)是 Vue 3 的组合式 API 中的一种设计模式,用于将可复用的逻辑封装成独立的函数,从而提高代码的模块化和复用性。可组合函数的核心目标是将复杂的逻辑拆分为小的、可管理的单元,然后在不同的组件…

Unity3D功耗和发热分析与优化详解

Unity3D作为广泛使用的游戏开发引擎,在游戏开发过程中,功耗和发热问题一直是开发者需要重点关注的问题。功耗和发热不仅影响用户体验,还可能对设备的硬件寿命造成一定影响。本文将从技术角度详细分析Unity3D游戏在移动设备上的功耗和发热问题…

第13篇:无线与移动网络安全

目录 引言 13.1 无线网络的安全威胁 13.2 无线局域网的安全协议 13.3 移动通信中的安全机制 13.4 蓝牙和其他无线技术的安全问题 13.5 无线网络安全的最佳实践 13.6 总结 第13篇:无线与移动网络安全 引言 无线和移动网络的发展为我们的生活带来了极大的便利…

如何从模块内部运行 Pytest

在 Python 中,pytest 是一个强大的测试框架,用于编写和运行测试用例。通常我们会在命令行中运行 pytest,但是有时你可能希望从模块或脚本的内部运行 pytest,比如为了自动化测试或集成到某个工作流程中。 1、问题背景 当你从模块…