首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何保证Wordpress中数据的一致性

如何保证Wordpress中数据的一致性
EN

WordPress Development用户
提问于 2018-01-08 03:07:27
回答 1查看 228关注 0票数 4

我目前正在处理与Wordpress的web应用程序的实现。

然而,现在,我正面临一个我认为是普遍的问题,每个人试图实现一个wep应用程序与Wordpress。尽管如此,似乎没有人谈论这件事。

这一问题涉及数据的一致性。在查看了这个主题的不同来源并使用Wordpress代码很长一段时间之后,我没有看到任何数据库ACID事务的跟踪,也没有任何其他确保数据一致性的方法。考虑到用户请求可能触发数据库上的多个写操作,这样一个关键问题可能会导致数据不一致,因为在请求处理过程中可能会出现故障,导致部分写入。

即使在Wordpress API函数中,这似乎也会在内部发生。

作为一个例子,让我们以wp_insert_post (这是一个常见的核心API操作)为例。这个函数似乎执行多个写操作,并且它们不会在数据库事务的范围内执行。这在我看来是正确的,因为在我看来,事务生命周期应该在更高的应用程序层进行管理。

但是,即使在更高的层,也不使用任何事务。

更糟糕的是,我看到wp_insert_post隐藏了它在数据库上执行的大多数写调用的返回值(例如将缩略图保存为元数据、类别、标记等)。

这一事实可能会使调用方(例如其他第三方插件或wordpress管理页面本身)认为所有东西都已正确保存到数据库中,而实际上并非如此,因此他们无法正确地处理事务(知道何时提交或回滚)或向用户提供适当的反馈。

我是不是遗漏了什么?如何使数据,至少,最终在Wordpress应用程序中一致?

我们怎样才能确保,一般来说,用Wordpress开发一个web应用程序,不会导致噩梦,试图管理这种数据不一致?

如果能在这方面提供任何帮助,我们将不胜感激。

EN

回答 1

WordPress Development用户

发布于 2018-01-09 13:17:50

不,你没有遗漏什么。但是,您似乎在用例中使用了错误的“框架”( WordPress没有使用)。你把事情搞混了。你所说的,A.C.I.D.交易,绝不是你所认为的目的。

  • ACID:保存崩溃恢复(由于软或硬件故障)
  • 锁定:对行和其他部分的独占写入

这两者都可以通过使用WordPress支持…的数据库来实现。用正确的引擎:

  • MySQL: InnoDB
  • MariaDB: XtraDB ( InnoDB叉)

有关更多细节,请查看InnoDB锁定

另一种方法是有硬盘锁(将LOCK文件写入磁盘),或者,如果您在同一个请求中,则使用软件锁(切换到TRUE/FALSE的变量或常量)。第三种选择是在数据库中本地设置锁。

更多的信息在这个答案中在这里的网站。

票数 2
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/290445

复制
相关文章
redis 如何保证数据一致性
日常开发中常会使用redis作为项目中的缓存,只要我们使用 Redis 缓存,就必然会面对缓存和数据库间的一致性保证问题。而且如果数据不一致,那么应用从缓存中读取的数据就不是最新数据,可能会导致严重的业务问题。
架构狂人
2023/08/16
1K0
redis 如何保证数据一致性
ZooKeeper是如何保证数据一致性的?
ZooKeeper是个集群,内部有多个server,每个server都可以连接多个client,每个client都可以修改server中的数据 ZooKeeper可以保证每个server内的数据完全一致,是如何实现的呢? 数据一致性是靠Paxos算法保证的,Paxos可以说是分布式一致性算法的鼻祖,是ZooKeeper的基础 Paxos的基本思路 假设有一个社团,其中有团员、议员(决议小组成员)两个角色 团员可以向议员申请提案来修改社团制度 议员坐在一起,拿出自己收到的提案,对每个提案进行投票表决
dys
2018/04/03
1.1K0
Mysql 如何保证数据的一致性(可以借鉴)
Mysql cluster数据节点组内主从同步采用的是同步复制, 来保证组内节点数据的一致性 原理类似tcp的四次握手 一般通过两阶段提交 (why)协议来实现,一般工作过程如下: a)Master执行提交语句时,事务被发送到slave,slave开始准备事务的提交。 b)每个slave都要准备事务,然后向master发送OK(或ABORT)消息,表明事务已经准备好(或者无法准备该事务)。 c)Master等待所有Slave发送OK或ABORT消息 如果Master收到所有 Slave的OK消息
程序员小王
2018/04/12
1.3K0
MySQL是如何保证数据一致性的?
通过上文《MySQL是如何保证数据不丢失的?》可以了解DML的操作流程以及数据的持久化机制。对于一个数据库而言,除了数据的持久性、不丢失之外,一致性也是非常重要的,不然这个数据是没有任何意义的。在使用MySQL时,数据不一致的情况也可能出现,所以,本文就来看看MySQL是如何保证数据一致的。
王二蛋
2024/01/28
7.7K7
面试如何保证数据一致性问题
面试redis和DB数据一致性问题,也是经常被问到的,只要你建立写了redis,如果面试官想问一些场景问题,都会扯到数据一致性问题,今天我们就解读一下这个问题,按照以下思路解读
小土豆Yuki
2022/12/01
1K0
面试如何保证数据一致性问题
redis缓存如何保证数据一致性
同时有请求A和请求B进行更新操作,那么会出现 (1)线程A更新了数据库 (2)线程B更新了数据库 (3)线程B更新了缓存 (4)线程A更新了缓存
Java技术债务
2022/08/09
7580
HBase的数据一致性是如何保证的?
HBase是一个分布式、可扩展的列式数据库,它通过一些机制来保证数据的一致性。在本文中,我将使用一个具体的案例来解释HBase的数据一致性是如何保证的,并提供详细的注释。
GeekLiHua
2025/01/21
770
如何保证缓存和数据库数据的一致性
问题:先修改数据库,再删除缓存。如果删除缓存失败了,那么会导致数据库中是新数据,缓存中是旧 数据,数据就出现了不一致。 解决思路:先删除缓存,再修改数据库。如果数据库修改失败了,那么数据库中是旧数据,缓存中是空 的,那么数据不会不一致。因为读的时候缓存没有,则读数据库中旧数据,然后更新到缓存中。
小马哥学JAVA
2022/11/21
3610
如何保证缓存和数据库的一致性?
1. 问题分析 2. Cache-Aside 2.1 读缓存 2.2 写缓存 2.3 延迟双删 2.4 如何确保原子性 3. Read-Through/Write-Through 3.1 Read-Through 3.2 Write-Through 4. Write Behind 很多小伙伴在面试的时候,应该都遇到过类似的问题,如何确保缓存和数据库的一致性? 如果你对这个问题有过研究,应该可以发现这个问题其实很好回答,如果第一次听到或者第一次遇到这个问题,估计会有点懵,今天我们来聊聊这个话题。 1. 问题分
江南一点雨
2022/03/29
4600
MySQL主从同步如何保证数据一致性
假设主备切换前,我们的主库是节点A,节点B是节点A的备库,客户端的读写都是直接访问节点A,节点B只是将A的更新同步过来然后本地执行,同步完成以后,节点AB的数据就一致了。
shysh95
2022/04/07
1.7K0
MySQL主从同步如何保证数据一致性
MySQL主从同步如何保证数据一致性?
然而,现在的面试都不问 MySQL 主从同步原理了,而是开始问主从同步怎么保证数据一致性问题了。
磊哥
2024/08/20
3530
MySQL和Redis如何保证数据一致性?
由于缓存的高并发和高性能已经在各种项目中被广泛使用,在读取缓存这方面基本都是一致的,大概都是按照下图的流程进行操作:
PHP开发工程师
2021/07/23
8710
MySQL和Redis如何保证数据一致性?
Canal 如何保证数据库库事务的一致性
关系型数据库讲究的是ACID 4个特性,故引入了数据库事务的概念,一个数据库事务中的多条SQL引发的多条数据变更要么全部成功,要么全部失败,即数据的一致性,那同样在数据同步的场景,在解析一个事务的 binlog 日志时,一次数据同步应该至少以事务为单位,一个事务内的所有 Event 应该作为一个批次提交到数据消费端,让消费端有能力一次同步一个事务中的数据,而不是一条一条变更日志的处理,这样容易造成数据不一致。
丁威
2020/07/14
1.7K0
服务化架构下的数据一致性如何保证
本文讲述了在服务化架构下,如何保证多个子系统间业务数据的一致性。文章首先介绍了事务的概念和特性,然后通过举例说明了分布式事务的不足和本地事务的缺陷。接着,文章提到了一种基于消息系统的方案,该方案由本地消息表和MQ组成,能够屏蔽业务操作细节,实现事务一致性。最后,文章介绍了RocketMQ的事务消息方案,该方案能够保证业务操作和发送消息满足一致性。
高爽
2017/12/28
9930
服务化架构下的数据一致性如何保证
并发扣款,如何保证一致性?
沈老师,我们有个业务,同一个用户在并发“查询,逻辑计算,扣款”的情况下,余额可能出现不一致,请问有什么优化方法么? 今天和大家聊一聊这个问题。
架构师之路
2023/01/04
9230
并发扣款,如何保证一致性?
HDFS中的数据一致性是如何保证的?请解释数据一致性的概念和实现方式。
HDFS(Hadoop分布式文件系统)是一个用于存储和处理大规模数据的分布式文件系统。在HDFS中,数据的一致性是指在多个副本之间保持数据的一致性,即多个副本中的数据内容是相同的。数据一致性的保证是HDFS的核心功能之一,它确保了数据的可靠性和完整性。
GeekLiHua
2025/01/21
940
如何保证缓存和数据库数据一致性
保证缓存和数据库数据一致性是一个复杂的问题,它涉及到缓存策略、数据更新机制、系统架构等多个方面。下面我将介绍一些常见的策略来确保缓存和数据库之间的数据一致性。
程序员朱永胜
2024/01/09
3380
并发扣款保证数据的一致性
第二步,业务层实施业务逻辑计算,比如: (1)先查询购买商品的价格,例如是80元; (2)再查询产品是否有活动,以及活动折扣,例如是9折; (3)比对余额是否足够,足够时才往下走;
似水的流年
2021/03/05
1.1K0
如何保证缓存、数据库双写一致性?
在使用缓存时,我们必须要考虑的是缓存与数据库的双写一致性,是先删缓存还是先更新数据库?是需要强一致性还是最终一致性?延迟双删策略真的就万无一失了吗?虽然网上已经有很多文章分析了,但都比较零散,所以本篇根据自己的经验及网上的文章做了个归纳整理。
夜勿语
2021/12/28
1.3K0
如何保证缓存、数据库双写一致性?
如何保证缓存与数据库的双写一致性?
只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题
chinotan
2019/07/02
3.2K0

相似问题

如何在WordPress中组织这些数据

20

如何替换Wordpress数据库中的域名?

100

Wordpress是如何存储数据的?

10

Wordpress中的数据翻译问题

10

如何在WordPress中从数组中捕获数据

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文