当前位置: 首页 > news >正文

sql事务执行

使用上下文管理器

from sqlalchemy import create_engine, text
from sqlalchemy.orm import sessionmaker
from contextlib import contextmanager
import logging# 创建数据库连接
engine = create_engine('mysql+pymysql://username:password@localhost/dbname')
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)@contextmanager
def get_db():"""数据库会话上下文管理器"""db = SessionLocal()try:yield dbdb.commit()except Exception as e:db.rollback()raise efinally:db.close()def update_data():"""更新数据的函数"""try:with get_db() as db:# 1. 删除操作delete_stmt = text("DELETE FROM users WHERE department = :dept AND status = :status")db.execute(delete_stmt, {"dept": "IT", "status": "inactive"})# 2. 插入操作insert_stmt = text("""INSERT INTO users (name, department, status, created_at) VALUES (:name, :dept, :status, NOW())""")# 插入多条数据users_to_insert = [{"name": "John Doe", "dept": "IT", "status": "active"},{"name": "Jane Smith", "dept": "IT", "status": "active"}]for user in users_to_insert:db.execute(insert_stmt, user)print("操作成功完成")except Exception as e:print(f"操作失败: {e}")raise# 调用函数
update_data()

  

显式使用事务

from sqlalchemy import create_engine, text
from sqlalchemy.orm import sessionmakerengine = create_engine('mysql+pymysql://username:password@localhost/dbname')
Session = sessionmaker(bind=engine)def update_data_explicit():"""显式事务控制"""session = Session()try:# 开始事务(SQLAlchemy 默认在事务中运行)# 删除操作delete_result = session.execute(text("DELETE FROM users WHERE department = :dept AND status = :status"),{"dept": "IT", "status": "inactive"})print(f"删除了 {delete_result.rowcount} 条记录")# 插入操作insert_stmt = text("""INSERT INTO users (name, department, status) VALUES (:name, :dept, :status)""")session.execute(insert_stmt, {"name": "John Doe", "dept": "IT", "status": "active"})# 提交事务session.commit()print("操作成功完成")except Exception as e:# 回滚事务session.rollback()print(f"操作失败,已回滚: {e}")raisefinally:session.close()update_data_explicit()

  

使用 SQLAlchemy Core 和连接事务

from sqlalchemy import create_engine, textengine = create_engine('mysql+pymysql://username:password@localhost/dbname')def update_data_with_connection():"""使用连接级别的事务"""with engine.begin() as connection:# 删除操作connection.execute(text("DELETE FROM users WHERE department = :dept AND status = :status"),{"dept": "IT", "status": "inactive"})# 插入操作connection.execute(text("INSERT INTO users (name, department, status) VALUES (:name, :dept, :status)"),{"name": "John Doe", "dept": "IT", "status": "active"})print("操作成功完成")update_data_with_connection()

  

使用 ORM 模型(如果使用 SQLAlchemy ORM)

from sqlalchemy import create_engine, Column, String, DateTime
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
from datetime import datetimeBase = declarative_base()class User(Base):__tablename__ = 'users'id = Column(Integer, primary_key=True)name = Column(String(100))department = Column(String(50))status = Column(String(20))created_at = Column(DateTime, default=datetime.now)engine = create_engine('mysql+pymysql://username:password@localhost/dbname')
Session = sessionmaker(bind=engine)def update_data_orm():"""使用 ORM 方式"""session = Session()try:# 删除操作deleted_count = session.query(User).filter(User.department == "IT",User.status == "inactive").delete()print(f"删除了 {deleted_count} 条记录")# 插入操作new_users = [User(name="John Doe", department="IT", status="active"),User(name="Jane Smith", department="IT", status="active")]session.add_all(new_users)# 提交事务session.commit()print("操作成功完成")except Exception as e:session.rollback()print(f"操作失败,已回滚: {e}")raisefinally:session.close()update_data_orm()

  

 

使用连接的事务上下文(最简洁)

from sqlalchemy import create_engine, textdef update_data_simple():"""最简单的事务实现"""engine = create_engine('mysql+pymysql://user:password@localhost/dbname')try:with engine.begin() as conn:# 删除操作conn.execute(text("DELETE FROM users WHERE department = :dept AND status = :status"),{"dept": "IT", "status": "inactive"})# 插入操作conn.execute(text("""INSERT INTO users (name, department, status, created_at) VALUES (:name, :dept, :status, NOW())"""),{"name": "John Doe", "dept": "IT", "status": "active"})print("操作成功完成")except Exception as e:print(f"操作失败: {e}")raiseupdate_data_simple()

  

 

显式事务控制

from sqlalchemy import create_engine, textdef update_data_explicit():"""显式事务控制"""engine = create_engine('mysql+pymysql://user:password@localhost/dbname')conn = engine.connect()trans = conn.begin()  # 开始事务try:# 删除操作result = conn.execute(text("DELETE FROM users WHERE department = :dept AND status = :status"),{"dept": "IT", "status": "inactive"})print(f"删除了 {result.rowcount} 条记录")# 插入操作 - 多条数据users_data = [{"name": "John Doe", "dept": "IT", "status": "active"},{"name": "Jane Smith", "dept": "IT", "status": "active"},{"name": "Bob Wilson", "dept": "IT", "status": "active"}]for user in users_data:conn.execute(text("""INSERT INTO users (name, department, status, created_at) VALUES (:name, :dept, :status, NOW())"""),user)# 提交事务trans.commit()print("操作成功完成")except Exception as e:# 回滚事务trans.rollback()print(f"操作失败,已回滚: {e}")raisefinally:# 关闭连接conn.close()update_data_explicit()

  

 

批量插入的优化版本

from sqlalchemy import create_engine, textdef update_data_batch():"""批量插入的版本"""engine = create_engine('mysql+pymysql://user:password@localhost/dbname')try:with engine.begin() as conn:# 删除操作delete_result = conn.execute(text("DELETE FROM products WHERE category = :category AND stock = 0"),{"category": "electronics"})print(f"删除了 {delete_result.rowcount} 个产品")# 批量插入操作products_data = [{"name": "Laptop", "category": "electronics", "price": 999.99, "stock": 10},{"name": "Mouse", "category": "electronics", "price": 25.50, "stock": 50},{"name": "Keyboard", "category": "electronics", "price": 75.00, "stock": 30}]# 使用 executemany 批量插入conn.execute(text("""INSERT INTO products (name, category, price, stock, created_at) VALUES (:name, :category, :price, :stock, NOW())"""),products_data)print("批量操作成功完成")except Exception as e:print(f"操作失败: {e}")raiseupdate_data_batch()

  

 

带参数化的通用函数

 

from sqlalchemy import create_engine, text
from typing import List, Dict, Anydef transactional_operation(db_url: str,delete_query: str,delete_params: Dict[str, Any],insert_query: str,insert_data: List[Dict[str, Any]]
) -> bool:"""通用的事务操作函数Args:db_url: 数据库连接字符串delete_query: 删除操作的SQL语句delete_params: 删除操作的参数insert_query: 插入操作的SQL语句  insert_data: 插入操作的数据列表Returns:bool: 操作是否成功"""engine = create_engine(db_url)try:with engine.begin() as conn:# 执行删除操作delete_result = conn.execute(text(delete_query), delete_params)print(f"删除操作影响行数: {delete_result.rowcount}")# 执行插入操作if insert_data:conn.execute(text(insert_query), insert_data)print(f"插入操作影响行数: {len(insert_data)}")print("事务操作成功完成")return Trueexcept Exception as e:print(f"事务操作失败: {e}")return False# 使用示例
if __name__ == "__main__":db_url = "mysql+pymysql://user:password@localhost/test_db"delete_sql = "DELETE FROM orders WHERE status = :status AND created_at < :date"delete_params = {"status": "cancelled", "date": "2023-01-01"}insert_sql = """INSERT INTO orders (customer_id, product_id, quantity, status) VALUES (:customer_id, :product_id, :quantity, :status)"""new_orders = [{"customer_id": 1, "product_id": 101, "quantity": 2, "status": "pending"},{"customer_id": 2, "product_id": 102, "quantity": 1, "status": "pending"}]success = transactional_operation(db_url, delete_sql, delete_params, insert_sql, new_orders)print(f"操作结果: {'成功' if success else '失败'}")

  

 

 

带返回值的事务操作

from sqlalchemy import create_engine, textdef update_data_with_return():"""带返回值的事务操作"""engine = create_engine('mysql+pymysql://user:password@localhost/dbname')try:with engine.begin() as conn:# 删除操作并获取影响行数delete_result = conn.execute(text("DELETE FROM logs WHERE log_date < :date"),{"date": "2023-06-01"})deleted_count = delete_result.rowcount# 插入操作conn.execute(text("INSERT INTO logs (message, level) VALUES (:message, :level)"),{"message": "System started", "level": "INFO"})# 返回操作结果return {"success": True,"deleted_count": deleted_count,"inserted_count": 1}except Exception as e:return {"success": False,"error": str(e),"deleted_count": 0,"inserted_count": 0}# 使用
result = update_data_with_return()
print(f"操作结果: {result}")

  

 

相关文章:

sql事务执行

使用上下文管理器from sqlalchemy import create_engine, text from sqlalchemy.orm import sessionmaker from contextlib import contextmanager import logging# 创建数据库连接 engine = create_engine(mysql+pymysql://username:password@localhost/dbname) SessionLocal …...

GAS_Aura-Spawn FireBolt from Event

1将Spawn火球设置为单独的接口,并在触发GA时触发...

在CentOS 7系统上创建SSL/TLS证书以启用HTTPS

第一步:装备准备 首先,确保您的武器库(包管理器)是最新的。咒语(命令)如下: sudo yum update sudo yum install epel-release sudo yum install mod_ssl 这将更新您的包索引,安装EPEL仓库,并让Apache HTTP服务器拥有处理SSL的能力。 第二步:私钥的锻造 SSL/TLS证书需…...

从Craigslist广告到BHIS安全顾问:非科班生的渗透测试求职之路

本文讲述作者通过Craigslist招聘广告应聘Black Hills信息安全公司的经历,涉及文本简历防钓鱼技巧、Linux技术面试、网络端口知识考察以及问题解决能力的实际测试,展现了网络安全行业独特的招聘方式与技术评估要点。ADVISORY: 本博文中提及的技术和工具可能已过时,不适用于当…...

Java 微服务架构中的实践与挑战

一、引言 微服务架构已成为现代分布式系统的主流设计思想。它强调将单体应用拆分为一组小而自治的服务,每个服务聚焦特定业务能力,并通过轻量级通信方式协作。对于以 Java 为核心的企业级系统,微服务架构的落地往往依赖 Spring Boot、Spring Cloud 以及后续兴起的服务网格(…...

Java 与大数据处理:从 Hadoop 到实时计算

一、引言 在大数据时代,数据已经成为企业的战略资产。无论是金融风控、智能推荐,还是智慧城市与医疗健康,背后都依赖海量数据的存储与计算。作为企业开发的主流语言,Java 在大数据生态中扮演着不可替代的角色。从最早的 Hadoop 批处理框架,到 Spark、Flink 的内存与流式计…...

国产IT运维卡壳?乐维智能运维体让运维团队告别“适配难、监控乱”

“刚把3台核心服务器操作系统从CentOS7换成麒麟V10,之前用的Zabbix探针直接无法采集服务器的CPU、磁盘温度;机房中华为交换机、锐捷AC、浪潮存储分散在不同机柜,每台设备都要单独登录后台看告警,上周就因为没有及时发现交换机端口故障,导致研发部门断网整整一天……” 某1…...

ubuntu18安装mysql5.7

环境Os:ubuntu 18.04 desktop桌面版mysql:mysql-5.7.42-linux-glibc2.12 查看操作系统信息root@db:/soft# uname -a Linux db 4.15.0-20-generic #21-Ubuntu SMP Tue Apr 24 06:16:15 UTC 2018 x86_64 x86_64 x86_64 GNU/Linuxroot@db:/soft# cat /etc/os-release NAME="U…...

【IEEE出版 |已连续5届EI稳定检索】第六届计算机工程与智能控制学术会议(ICCEIC 2025)

聚焦计算机工程与智能控制前沿,涵盖网络安全、硬件系统、软件工程、嵌入式创新等多个核心议题及交叉学科研究。ICCEIC 2025将计算机工程和智能控制领域的创新学者和工业专家聚集到一个共同的论坛上,共享最新科研成果,破解关键问题,展望未来发展。第六届计算机工程与智能控制…...

在选择2025年代码托管平台时,Gitee和GitHub作为国内外两大主流平台各有优势。本文将从多个维度进行对比分析,帮助开发者做出更适合自身需求的选择。

在选择2025年代码托管平台时,Gitee和GitHub作为国内外两大主流平台各有优势。本文将从多个维度进行对比分析,帮助开发者做出更适合自身需求的选择。 作为中国本土领先的代码托管平台,Gitee近年来发展迅猛。数据显示,平台已拥有超过500万注册用户和1000万活跃仓库,在国内开…...

android使用socks5的教程

1.安装APP 下载地址忽略 2.使用配置的地址账号信息 少侠,我看你气度不凡天赋异禀,骨骼精奇,这么帅,来了就帮推荐一把吧 我的最近更新 最新发布文章、框架、咨询等,来看看吧...

vue3 自定义指令并实现页面元素平滑上升

基本示例 // 在directives/example.ts中 import type { Directive } from "vue"; /*** 示例*/ const example: Directive = {mounted(el) {console.log("mounted", el);},beforeUnmount(el) {console.log("beforeUnmount", el);} }; export defa…...

abp记录

abp记录abp8.3 : abp new MyCompany.MyProject -t app --no-ui -d ef --database-provider mysql --version 8.3.0...

强化学习(二十):模仿学习

一、概念 1、很多情况下,环境没有明确的奖励,例如聊天,自动驾驶的操作,无法明确定义好坏 2、不知道该怎么定义奖励时,可以收集专家示范 3、模仿学习(imitation learning,IL):智能体通过专家示范来学习,环境没有奖励给智能体二、行为克隆 1、类似于监督学习,专家做什…...

重生之从零开始的神经网络算法学习之路 —— 第七篇 重拾 PyTorch(超分辨率重建和脚本的使用)

重生之从零开始的神经网络算法学习之路 —— 第七篇 重拾 PyTorch(超分辨率重建和脚本的使用)重生之从零开始的神经网络算法学习之路——第七篇 重拾PyTorch(超分辨率重建和脚本的使用) 引言 在前一篇中,我们初步探索了PyTorch框架的使用并体验了GPU加速计算的优势。本篇将…...

从基础到实践(四十五):车载显示屏LCD、OLED、Mini-LED、MicroLED的工作原理、设计差异等说明 - 教程

从基础到实践(四十五):车载显示屏LCD、OLED、Mini-LED、MicroLED的工作原理、设计差异等说明 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &quo…...

国产项目管理工具崛起:Gitee如何以本土化优势重构开发协作生态

国产项目管理工具崛起:Gitee如何以本土化优势重构开发协作生态 在数字化浪潮席卷全球的当下,项目管理工具已成为企业技术栈中不可或缺的基础设施。随着中国科技产业的蓬勃发展,本土化项目管理平台正展现出强大的竞争力。作为国内领先的DevOps全生命周期解决方案提供商,Gite…...

GAS_Aura-Sending Gameplay Events

1讲了增加一个TaskNotify的通知蓝图,及其内部的函数的作用...

【IEEE-智造领空天,寰宇链未来】第五届机电一体化技术与航空航天工程国际学术会议(ICMTAE 2025)

会议将围绕“航空航天工程”、“机电一体化”、“先进制造”、“精密测量与仪器”、“结构强度与完整性”等相关最新研究领域,为来自国内外高等院校、科学研究所、企事业单位的专家、教授、学者、工程师等提供一个分享专业经验,扩大专业网络,面对面交流新思想以及展示研究成…...

进程间通信(消息队列)

消息队列概念 Linux系统中消息队列(Message Queue)是进程间通信的一种方式,这种通信机制的好处是可以传输指定类型(用户可以自行定义)的数据,相同类型的数据根据到达顺序在队列中进行排队。 当然,不同类型的数据不能处于同一个队列中,也就是说系统中可能存在多个消息队列…...

有点长所以单发的闲话(对acgn的看法(存疑))

因为某个东西的影响,突然有些感悟,想写点东西。 先解释题目吧,\(a,c,g,n\) 分别是动画,漫画,游戏,小说。算是构成了所谓“二次元”。 逢 我了解二次元这一块可以说是比较健康且古早的。我看电脑是从 \(3,4\) 岁开始的(我妈如是说),当时是小学吧,我在腾讯(应该是)看…...

【光照】Unity中的[光照模型]概念辨析

本文介绍了游戏渲染中的核心光照模型。传统标准光照模型(Phong/Blinn-Phong)包含漫反射和环境光,计算简单但真实感不足。物理基础渲染(PBR)基于BRDF数学框架,整合GGX法线分布和菲涅尔效应,通过金属度/粗糙度参数实现更真实的能量守恒光照效果。相比传统经验模型,PBR计算…...

深入解析:Shell脚本监控系统资源详解

深入解析:Shell脚本监控系统资源详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important…...

计算几何全家桶

#include <bits/stdc++.h> using namespace std;using point_t=long double; //全局数据类型,可修改为 long long 等constexpr point_t eps=1e-8; constexpr long double PI=3.1415926535897932384l;// 点与向量 template<typename T> struct point {T x,y;bool …...

链表

点击查看代码 /******************************************************************************************************** * * * * * * * Copyright (c) 2023-2024 cececlmx@126.com All right Reserved * ******************************************************…...

国产代码托管平台Gitee崛起:企业数字化转型的安全基石

国产代码托管平台Gitee崛起:企业数字化转型的安全基石 在数字经济高速发展的今天,软件开发已成为企业创新的核心驱动力。作为分布式版本控制系统的Git,因其高效协作特性而广受开发者青睐。然而,随着国际形势变化和数据安全法规日趋严格,越来越多的中国企业开始寻求自主可控…...

Gitee:本土化创新赋能企业数字化转型,打造高效研发新范式

Gitee:本土化创新赋能企业数字化转型,打造高效研发新范式 在数字化转型浪潮席卷各行各业的当下,企业研发效能提升已成为关乎企业核心竞争力的关键因素。作为国内领先的一站式DevOps研发管理平台,Gitee凭借其独特的本土化优势和技术创新实力,正在重新定义企业级代码托管与协…...

完整教程:从无声视频中“听见”声音:用视觉语言模型推理音频描述

完整教程:从无声视频中“听见”声音:用视觉语言模型推理音频描述pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New&…...

Win10如何安装语音包

一、系统环境Win10 参考 https://cp.baidu.com/landing/tscp_doc/8e36175e077a04256c1b85e9a0975471二、安装步骤 2.1、控制面板,打开windows设置说明:选择时间和语言选项,看到如下界面,主要关注语言及语音即可2.2、语言安装 选择语言,点击添加语言功能选择泰语,点击一下…...

C#通过TCP/IP控制康奈视读码枪实现方案

一、通信协议解析 康奈视读码枪(如DataMan系列)的TCP/IP通信遵循以下规范:通信模式 服务器模式:读码枪作为TCP服务端监听指定端口(默认23/8000) 客户端模式:PC作为客户端主动连接设备IP指令格式指令类型 示例指令 功能说明触发扫描 TRIGGER ON 启用连续扫描模式读取数据…...

利用三方APP[IP切换助手]使用socks5

1.安装前必读提示 a.此乃三方软件,它有收费模式,你不必理会它首页所出的收费方式.这些都是随机IP,且是不稳定的. b.此乃三方软件,我们不排除他们有可能会收集配置服务器,用户自行决定.之所以推荐它,目的:是为那些不想麻烦自己去注册其他地区apple store id的用户; c.此乃三方软…...

智能卫浴雷达模块感应方案WT4101寿命长不怕干扰

目前新装修的公共卫浴很多都采用的是雷达方案的感应开关方式,采用雷达方案做感应开关的原因很简单,因为雷达在公共环境当中干扰因素少寿命长,能够稳定的承担起感应开关的工作,并且雷达的成本也在逐年下降,让更多雷达感应开关普及到市场上。红外感应模块应用在公共卫浴的痛…...

修改Windows 资源器中文件的创建时间或更新时间

方法一:使用PowerShell 使用管理员身份打开PowerShell 执行语句 更改创建时间(Get-Item "D:\文件\demo.txt").CreationTime = "2025-09-15 12:34:56"更改更新时间(Get-Item "D:\文件\demo.txt").LastWriteTime = "2025-09-15 14:30:00&qu…...

Mysql练习,15个必练语句带你玩转数据库

还在为记不住MySQL语句而苦恼吗?你是否每次写SQL都要反复查阅文档?今天我们就来一起练习MySQL最常用的15个语句,让你从零开始掌握数据库操作。 快速上手MySQL基本操作 连接数据库是第一步,记住用户名和密码要紧跟-u和-p参数,不能有空格。如果不想明文显示密码,可以只输入…...

威力导演2026中文版 CyberLink PowerDirector 2026 v24.0 旗舰版更新内容

讯连科技威力导演(PowerDirector)是一款功能全面的视频编辑软件及视频剪辑软件.威力导演中文版采用独家之智慧型高速不失真影片输出技术SVRT,可快速编辑处理视频,威力导演旗舰版(CyberLink PowerDirector Ultimate)支持XAVC-S及H.265/HEVC音视频编码,威力导演破解版视频创作功能…...

越权漏洞

本实验用本地搭建的pikachu漏洞练习平台做实验水平越权水平越权是指同一权限级别下的不同用户之间,可以非法访问或操作其他用户的数据或资源。即用户通过某种手段,绕过系统的访问控制机制,获取与自身权限同级的其他用户的信息或执行相关操作咱们先看一下水平越权环境可以看到…...

GAS_Aura-Ability Tasks

1讲了PlayMontageAndWait的源码...

本地大模型的崛起:为什么越来越多人不用云端 AI?

一、引言过去两年,AI 产品几乎都依赖云端模型,比如 ChatGPT、文心一言。但现在越来越多人开始尝试 本地大模型(Local LLM):不需要联网、不依赖云端服务器。为什么这种趋势正在兴起?本文从 隐私、安全、成本、效率 等角度来解读。二、什么是“本地大模型”?定义:将大语言…...

Gitee:国产代码托管平台如何重塑企业研发效能版图

Gitee:国产代码托管平台如何重塑企业研发效能版图 在全球数字化转型浪潮中,企业研发效能正成为决定商业竞争力的关键因素。作为中国本土领先的代码托管平台,Gitee通过深度本地化服务与技术创新,正在重新定义企业级软件开发流程。最新统计显示,该平台已汇聚超过1350万开发者…...

CompassBench 大模型评测

OpenCompass 是一个开源开放的大模型评测平台,构建了包含学科、语言、知识、理解、推理五大维度的通用能力评测体系,支持了超过 50 个评测数据集和 30 万道评测题目,支持零样本、小样本及思维链评测。OpenCompass 支持大部分主流 HuggingFaces 上的大语言模型的评测,只需几…...

Windows截图工具Acropalypse漏洞剖析:开发者中心安全的重要教训

本文深入分析Windows Snip and Sketch工具中的Acropalypse漏洞,揭示API设计缺陷导致的安全风险,探讨开发者中心安全原则,并对比Win32与UWP API的安全差异,为安全软件开发提供重要见解。Windows Snip and Sketch中的Acropalypse漏洞,开发者中心安全的教训 Acropalypse是一个…...

bootstrap-flex总结

一主轴方向、默认横线排布 flex-row(默认)。flex-column是竖向排列<div class="d-flex "> <div class="p-2 bg-primary text-white">Item 1</div><div class="p-2 bg-success text-white">Item 2</div><div …...

【源码解读之 Mybatis】【基础篇】-- 第2篇:配置系统深度解析

【源码解读之 Mybatis】【基础篇】-- 第2篇:配置系统深度解析第2篇:配置系统深度解析 1. 配置系统概述 1.0 第1篇思考题解答 在深入学习配置系统之前,让我们先回顾并解答第1篇中提出的思考题,这将帮助我们更好地理解配置系统在整个架构中的作用。 思考题1:为什么 MyBatis …...

eSIM笔记

1. 办理eSIM套餐 -> 获得eSIM套餐的激活码(包含SM-DP+地址,Profile)LPA:1$esim.wo.com.cn$A1B2C3D4 SM-DP+地址:sim.wo.com.cn 激活码:A1B2C3D4 确认码:空 qq:505645074...

拯救者Y7000过热降频解决方法

拯救者Y7000过热降频解决方法 一、型号描述 ​ 型号:拯救者Y7000 2020 ​ CPU:i5-10200H CPU @ 2.4GHz ​ 显卡:NVIDIA GeForce GTX 1650 二、问题描述现象:由于电脑已经使用四年,近期不定时会出现电脑卡顿等现象,但不影响使用就没咋管,经常卡一会,不使用一会就自动恢复…...

普通大语言模型(LLM)和向量化模型(Embedding Model)的区别以及其各自的作用

简单来说:普通大语言模型(LLM) 像是一个知识渊博、能说会道的专家。你问它问题,它生成答案、写文章、编代码。 向量化模型(Embedding Model) 像是一个高度专业化的图书管理员或档案管理员。它不生成内容,而是将文字转换成数字(向量),并理解它们之间的语义关系,从而帮…...

ios电脑如何改成windows系统

如何将iOS设备转换为Windows系统:一个不可能的任务? 一、引言 在日常生活中,我们经常听到“iOS”和“Windows”这两个术语,它们分别代表了两种不同的操作系统。iOS是由苹果公司开发的移动操作系统,主要用于iPhone和iPad等移动设备上,而Windows则是由微软公司开发的桌面操…...

PythonFlask 运用 DBUtils 创建通用连接池

Python&Flask 运用 DBUtils 创建通用连接池pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !…...

帧同步、快照同步与状态同步

https://zhuanlan.zhihu.com/p/564017214前段时间,在Epic举办的UnrealCircle会议上,我受邀分享了一场关于“UE4回放系统”的技术演讲。不过由于时长限制,很多细节都没有得到进一步的阐述。这篇文章会在演讲的基础上拓展更多内容,更好的帮助大家去理解虚幻引擎的回放系统,建…...

内存一致性模型

顺序一致性(Sequential Consistency)是计算机系统中保证多线程程序正确执行的一种内存一致性模型。 它要求所有操作的执行顺序与程序员的源码顺序一致,即每个线程的操作在其本地源码顺序中保持不变, 同时不同线程的操作全局排序也符合源码顺序。 ‌核心要求顺序一致性模型确…...