redis中的双写一致性问题

embedded/2024/10/18 14:24:18/

 双写一致性问题

fe5568d7e9f44bbbbc0dabe184f7ba34.png

1.先删除缓存或者先修改数据库都可能出现脏数据。

2.删除两次缓存,可以在一定程度上降低脏数据的出现。

3.延时是因为数据库一般采用主从分离,读写分离。延迟一会是让主节点把数据同步到从节点。

1.读写锁保证数据的强一致性

1afd033b0db04866903ed7303ebe511f.png

        因为一般放入缓存中的数据都是读多写少(如果读少写多,就不用缓存了,直接操作数据库)。因此,用读写锁可以保证数据的强一致性。但缺点就是性能低,因为写数据时,其他线程还是要等待。

2.消息队列保证数据最终一致

388320369c4f4f18b303b0efdb6e1277.png

这种情况可能有短暂的数据延迟,但效率高。

3.基于Canal的异步通知(和方法2类似)

389ba6a0c5a84ff9936956d27662a9c3.png

优点:对于业务代码几乎零侵入。  缺点:还是可能有短暂的数据延迟。

总结:

440bff1b081c43a58a585473103b903e.png


http://www.ppmy.cn/embedded/16593.html

相关文章

【Shell】循环结构——for和while循环实例

Shell可以重复地执行特定的指令,直到特定的条件被满足为止。这重复执行的一组指令就叫做循环 特点: 首先,循环条件中使用的变量必须是已初始化的,然后在循环中开始执行每次在循环开始时进行一次测试重复地执行一个代码块 循环实例…

「 网络安全常用术语解读 」SBOM主流格式SPDX详解

SPDX(System Package Data Exchange)格式是一种用于描述软件组件(如源代码)的规范,它提供了一种标准化的方法来描述软件组件的元数据,包括其许可证、依赖项和其他属性。SPDX最初由Linux基金会于2010年发起&…

How to solve matplotlib Chinese garbled characters in Ubuntu 22.04

conda create -n huizhou python3.8conda activate huizhouconda install numpy matplotlibpip install mplfontsmplfonts init# 导入必要的库 import numpy as np import matplotlib.pyplot as plt# 创建角度数组,从0到2π x np.linspace(0, 2 * np.pi, 100)# 计算…

BGP配置和应用案例

策略路由的配置步骤 l 策略路由的配置步骤如下: 创建route-map 通过ACL匹配感兴趣的数据,定义策略动作 在指定接口下通过ip policy 命令应用route-map l 最终实现对通过该接口进入设备的数据进行检查,对匹配的数据执行规定的策略…

【深度学习】StabelDiffusion,Lora训练过程,秋叶包,Linux,SDXL Lora训练

文章目录 一、环境搭建指南二、个性化安装流程三、启动应用四、打开web五、开始训练 19.27服务器 一、环境搭建指南 打造一个高效且友好的开发环境,我们推荐使用以下简洁明了的中文资源: 项目源码获取: 通过以下命令轻松克隆项目及所有子模…

CentOS即将停服,国产化系统替代参考

国产化替代CentOS的产品有多个选择,主要包括以下几种: Alibaba Cloud Linux:阿里云提供的Linux操作系统,旨在为用户提供稳定、安全、高性能的云服务器环境。此外,阿里云还发布了“龙蜥”(Anolis OS&#x…

centos学习-网络配置命令-实用技巧

CentOS网络配置命令详解:轻松掌握网络配置技巧 在CentOS服务器的搭建和管理过程中,网络配置是至关重要的一环。良好的网络配置不仅可以确保服务器的稳定运行,还能够保障网络安全和数据传输效率。本文将详细介绍CentOS网络配置命令&#xff0…

机器学习中的 K-均值聚类算法及其优缺点

K-均值聚类算法是一种常用的聚类算法,用于将数据集划分成 K 个不同的组(簇),每个组内的数据点相似度较高,组间的数据点相似度较低。下面我将详细介绍 K-均值聚类算法及其优缺点。 K-均值聚类算法的步骤如下&#xff1…