【python+Redis】hash修改

文章目录

  • 前请详解
  • 一、关于Update
    • 1. 语法
    • 2. 代码示例
  • 二、完整代码

前请详解

Redis库数据

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

我们知道r.hset能够新增和修改数据,但这个修改是有局限性的
如果单用他的话,我们的数据就会缺少字段

例如:
r.hset(hash,2,{“id”:2,“name”:“world”})

返回:

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

一、关于Update

此时我们发现他的值是字典类型
而在 Python 中,update() 是字典对象的方法,用于将一个字典中的键值对更新到另一个字典中。它可以实现字典的合并和更新操作

1. 语法

other ={"a":1}
dict.update(other)

update() 方法将 other 中的键值对添加到当前字典中,如果键已存在,则将对应的值进行更新。

2. 代码示例

my_dict = {'a': 1, 'b': 2}
other_dict = {'b': 3, 'c': 4}my_dict.update(other_dict)
print(my_dict)

输出:

{'a': 1, 'b': 3, 'c': 4}

这正好吻合我们的需求,将其他字段继承了下来,而且修改了需要的参数

二、完整代码

def upd_hv(hash,params):if params.get("id",False):if r.hget(hash,params["id"]):da = json.loads(r.hget(hash,params["id"]))da.update(params)r.hset(hash,da["id"],json.dumps(da))return Trueelse:raise NameError("redis数据不存在")else:raise NameError("参数id不存在")
upd_params = {"id":2,"name":"world"}
upd_hv("hash_stu",upd_params)

结果:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/451186.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Git--简略

Git简介 Git 是一个 免费 的 开源 分布式版本控制系统, 容易学习,内存小,效率高。 Git流程图 Git常用的一些命令 这里的a.txt 只是一个文件名,并不是固定命令代码 git add a.txt 添加到缓存区 git commit a.txt 提交到…

Hive优化:Hive的执行计划、分桶、MapJoin、数据倾斜

文章目录 1. hive的执行计划1.1 为什么使用EXPLAIN1.2 使用EXPLAIN的步骤1.3 EXPLAIN在什么场合使用 2. 分桶2.1 为什么要使用分桶 3. Map Join3.1 Map Join3.1.1 大小表关联3.1.2 不等连接 3.2 Bucket-MapJoin3.2.1 作用3.2.2 条件 3.3 SMB Join3.3.1 作用 4. 数据倾斜4.1 表连…

计数型信号量

一,什么是计数型信号量? 计数型信号量相当于队列长度大于1 的队列,因此计数型信号量能够容纳多个资源,这在计数型信号量被创建的时候确定的。 计数型信号量相关 API 函数 函数描述xSemaphoreCreateCounting()使用动态方法创建计数…

鸿蒙HarmonyOS开发:应用权限的基本概念及如何申请应用权限详细介绍

文章目录 一、访问控制二、应用权限1、应用权限管控2、权限使用的基本原则3、授权方式4、权限等级 三、申请应用权限1、选择申请权限的方式2、声明权限3、声明样例4、二次向用户申请授权5、具体实现示例6、效果展示 四、应用权限列表1、system_grant(系统授权&#…

使用 KVM 在 Xubuntu 上创建 Windows 10 虚拟机

目录 前言说明注意准备 iso官网思博主(嘻嘻)拖动到虚拟机里面启动 virt-manager创建虚拟机选择本地安装介质选择 iso配置 内存 和 CPU选择 创建的虚拟机 保存的位置启动虚拟机看到熟悉的 Win10界面点击现在安装点击我没有产品密钥选择 Win10 专业工作站版勾选接受许可条款选择自…

前端中的拖拽知识

概述 本文主要介绍前端中拖拽相关的知识以及如何在 vue3 工程里实现拖拽指令。 前端中的拖拽 前端中的拖拽功能是一种交互设计,允许用户通过鼠标或触摸操作移动页面上的元素到不同的位置。这一功能的实现涉及 HTML、CSS 和 JavaScript 的综合运用。 HTML元素拖拽 拖拽元素…

MySQL增删改进阶

目录 1.数据库约束 1.1约束类型 1.2 not null约束 1.3 unique:唯一约束 1.4 default:默认约束 1.5 primary key:主键约束 1.6 foreign key:外键约束 1.7 check约束(了解) 2.表的设计 3.新增(进阶&…

C++【内存管理】(超详细讲解C++内存管理以及new与delete的使用和原理)

文章目录 1.C/C内存分布2.C语言中动态内存管理方式3.C内存管理方式3.1 new/delete操作内置类型3. 2new/delete操作自定义类型 4. operator new与operator delete函数(重点)5. new和delete的实现原理5.1 内置类型5.2 自定义类型5.2.1 自定义类型调用new[]…

基于Q学习迷宫寻路问题

迷宫由一个二维数组 self.maze 表示,其中: 0 表示可以行走的空白区域,1 表示障碍物,2 表示迷宫的起始位置,3 表示迷宫的目标位置。 动作定义了智能体可以执行的动作集合,在这个迷宫问题中,动…

最大输出功率的计算(直流电源)

本内容仅计算直流电源的最大输出功率​。 方法1: 图1 电源电路 根据欧姆定律列写电流公式,其中,U和r是常数,R为变量。 电阻R上消耗的功率:,代入上面的式子,可得: ,故…

5、JavaScript(二) 对象+DOM

17.对象 1、对象:⽤来存储多个数据的 是由多个键值对/key value对组成的 ⽤来描述⼀个事物的 相当于多个变量的集合 2、格式 :{key:value,key:value} 键/值对 属性名:属性值 3、对象的属性值是不限制数据类型的,甚至还可以是对…

【第二十二课】空间自分析——实例分析

一、前言 案例描述:现有全国 31个省市的矢量地图以及相关年份GDP 属性数据, 通过空间自相关分析我国省域经济的空间格局变化。 1、全局Morans I方法 (1)加载全国省域图层,并与相关年份GDP属性数据进行连接操作。 &…

Apache Seata Raft模式配置中心

本文来自 Apache Seata官方文档,欢迎访问官网,查看更多深度文章。 本文来自 Apache Seata官方文档,欢迎访问官网,查看更多深度文章。 Apache Seata Raft模式配置中心 title: Seata Raft模式配置中心 author: 蒋奕晨-清华大学&…

【计算机网络】HTTP报文详解,HTTPS基于HTTP做了哪些改进?(面试经典题)

HTTP协议基本报文格式 在计算机网络中,HTTP(超文本传输协议)是应用层的一种协议,用于客户端(通常是浏览器)和服务器之间的通信。HTTP报文分为请求报文和响应报文,以下是它们的基本格式。 1. H…

【R语言】gadm全球行政区划数据库

我R语言不熟、也不是学GIS的。仅用于记录。 文章目录 一、gadm 数据库简介二、R 语言示例三、sf 包的函数 一、gadm 数据库简介 GADM(全称Database of Global Administrative Areas)是一个高精度的全球行政区划数据库,它包含了全球所有国家和…

cs木马图形化界面出现问题处理

一个月多月没用cs木马了,发现打开客户端之后显示不出图形化界面,且出现下面这样的报错。 、 最后发现是java版本的问题,kali的java自动更新了。把原来的openjdk11改到了openjdk23。 解决方法: 输入: sudo update-…

vue的动态组件 keep-alive

1. 什么是动态组件 动态组件指的是 动态切换组件的显示与隐藏 2. 如何实现动态组件渲染 vue提供了一个内置的<component>组件&#xff0c;专门用来实现动态组件的渲染。 作用&#xff1a;组件的占位符is的值表示要渲染的组件 示例代码如下&#xff1a; Left.vue的代…

2024版AI大模型转行入门全攻略,零基础入门到精通,收藏这一篇就够了

引言 随着人工智能和大模型&#xff08;如GPT-4、BERT等&#xff09;技术的快速发展&#xff0c;越来越多的专业人士希望转行进入这一领域。大模型开发涉及复杂的技术体系和多样的应用场景&#xff0c;对从业者的知识和能力提出了较高要求。本文将详细解析转行大模型开发所需的…

1.C++经典实例-计算两个数的最大公约数

用户输入两个数字&#xff0c;然后通过程序计算出这两个数字的最大公约数&#xff1a; 最大公约数&#xff08;greatest common divisor&#xff0c;简写为 gcd &#xff1b;或highest common factor&#xff0c;简写为hcf)&#xff0c;指某几个整数共有因子中最大的一个 #in…

RHCE——例行性工作

准备工作 [rootlocalhost ~]# cat /etc/yum.repos.d/aliyun.repo [ali-app] nameali-app baseurlhttps://mirrors.aliyun.com/centos-stream/9-stream/AppStream/x86_64/os/ gpgcheck0[ali-base] nameali-base baseurlhttps://mirrors.aliyun.com/centos-stream/9-stream/Base…