成功案例网站建设怎么自己做网站吗

web/2025/10/2 16:04:55/文章来源:
成功案例网站建设,怎么自己做网站吗,怎样进行网络推广效果更好,外贸网店建站模板前言 日常开发中常会使用redis作为项目中的缓存#xff0c;只要我们使用 Redis 缓存#xff0c;就必然会面对缓存和数据库间的一致性保证问题。而且如果数据不一致#xff0c;那么应用从缓存中读取的数据就不是最新数据#xff0c;可能会导致严重的业务问题。 为什么会数…前言 日常开发中常会使用redis作为项目中的缓存只要我们使用 Redis 缓存就必然会面对缓存和数据库间的一致性保证问题。而且如果数据不一致那么应用从缓存中读取的数据就不是最新数据可能会导致严重的业务问题。 为什么会数据不一致 数据一致性指的是redis缓存跟数据库的数据的一致。假如缓存中没有数据那么数据库的值必须是最新的。如果缓存中有数据那么缓存中的值需要跟数据库的值相同。 理解完上述数据一致性的前提我们看下什么情况下会导致缓存跟数据库的数据不一致。 并发更新问题当多个客户端同时对同一个数据进行更新时假设有两个客户端同时读取了数据库中的数据然后对其进行了修改并分别将修改后的数据存入缓存。因为两个客户端并不知道对方的修改所以会导致缓存中存储的数据和数据库中的数据不一致。异常情况在更新缓存的过程中如果发生了错误或者异常可能导致缓存更新失败从而导致缓存和数据库数据不一致大致分为如下两种场景。 场景问题先删除缓存再更新数据库先删除缓存值 数据库更新失败导致请求再次访问缓存时发现缓存缺失再读数据库时从数据库中读到旧值先更新数据库再删除缓存缓存删除失败导致请求再次访问缓存时发现缓存命中并从缓存中读取到旧值 如何解决数据不一致的问题 无论是先操作缓存还是先操作数据库假如后者执行失败我们可以发起重试尽可能地去做「补偿」。我们可以把要更新/删除的值暂存到消息队列中当应用没有能够成功地更新/删除数据库值时可以从消息队列中重新读取这些值然后再次进行删除或者更新。 这种做法引入消息队列可能会增加更多的维护成本。如果重试超过的一定次数还是失败需要向业务层发送报错信息。 注意即使这两个操作执行时都没有失败但是当有大量并发请求时应用还是可能会读到不一致的数据。还是分以下两种情况讨论 先更新数据库再删除缓存 假设线程 A 删除了数据库中的值但还没来得及删除缓存线程 B 就开始读取数据了那么此时线程 B 查询缓存时就会直接从缓存中读取到旧值。不过这种情况下如果其他线程并发读缓存的请求不多那么就不会有很多请求读取到旧值。并且线程 A 一般也会很快删除缓存值这样其他线程再次读取时就会发生缓存缺失然后去数据库中获取最新的值因此这种情况对业务的影响较小。 先删除缓存再更新数据库延迟双删 我们先删除缓存然后更新数据库的值更新完数据库值以后我们可以让线程先 sleep 一小段时间再进行一次缓存删除操作。 这就是延迟双删伪代码如下 redis.delKey(K) db.update(K) Thread.sleep(T) redis.delKey(K)有了sleep 的这段时间即使有其他缓存从数据库读取到旧的值并重新放到缓存中我们也能再次删除保证缓存中会是新的值。至于sleep的这个时间如何确定以实际业务执行时间为准。 总结 删除缓存或更新数据库失败导致的数据不一致我们可以使用重试机制确保操作成功。在删除缓存、更新数据库的这两步操作中有其他线程的并发读导致其他线程读取到旧值我们可以使用延迟双删方案解决。

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

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

相关文章

电子商务网站建设系统功能梅州南站

这个视频flash上传及在线播放,搞了我一天了,总算有点成果,但还有一些疑问没有解决,现在发这篇随笔,为的就是交流视频在线上传和观看的一些问题。 在线编辑器使用FCKEditor,首先是修改FCKEditor的配置文件&a…

电子商务网站建设考纲网站建设 10万元

提到降噪强度(denoising strength),大家一定不会陌生,这个参数是图生图中最关键的参数之一。今天在Stable Diffusion Art网站看到一篇介绍降噪强度(denoising strength)的文章(地址:…

多国语言外贸网站模板上海建设网站哪家好

1.索引 1.1创建索引: create index 索引名称 on 某张表 (列名) 示例: create index index_name on table (Column names) 1.2索引优化 MySQL数据库索引优化是提高查询性能的重要手段。以下是一些关键的索引优化策略: 选择正确的索引列: 经常需要排序、分组和联…

建行商城网站单页面网站可以做自适应网站吗

流动性激励计划Moonbeam Ignite是帮助用户轻松愉快体验Moonbeam生态的趣味活动。在Moonbeam跨链连接的推动下,DeFi的各种可能性在这里爆发。DeFi或许不热门,但总有机会捡漏,了解Monbeam生态项目,我们邀请Moonbeam大使分享他们的研…

欢迎访问中国建设银行官方网站个人注册公司需要什么手续

2020深圳市公务员招录1069人公告已发布,报名时间:11月13日-19日16:00,报名入口:深圳市考试院专栏(http://hrss.sz.gov.cn/szksy/)或深圳市人事考试考生服务系统(以下简称考生服务系统,https://hrsstext.sz.gov.cn/ess/…

义乌个人兼职做建设网站查建筑公司网站

啥都不说先看效果图demoIMG_0270.PNG先来说说如何自定义大头针以及点击大头针时弹出的泡泡view一 : 自定义大头针新建CustomAnnotationView 继承自MAAnnotationView添加属性重写- (id)initWithAnnotation:(id)annotation reuseIdentifier:(NSString *)reuseIdentifier重写- (BO…

m2型虚拟主机带宽 网站网站建设的开题报告

原理 沙箱是一种安全机制,用于在受限制的环境中运行未信任的程序或代码。它的主要目的是防止这些程序或代码影响宿主系统或者访问非授权的数据。 在 Python 中,沙箱主要用于限制 Python 代码的能力,例如,阻止其访问文件系统、网…

关于网站设计的价格wordpress免费主题模板

qt-C笔记之主线程中使用异步逻辑来处理ROS事件循环和异步循环解决相互阻塞的问题 code review! 文章目录 qt-C笔记之主线程中使用异步逻辑来处理ROS事件循环和异步循环解决相互阻塞的问题1.Qt的app.exec()详解2.ros::spin()详解3.ros::AsyncSpinner详解4.主线程中结合使用的示…

企业网站模板论坛私密浏览器在线看

冒泡排序的两种策略&#xff1a; <script>// 第一种思路&#xff1a;// 一个数组中的数据&#xff0c;拿第一个和剩下的依次进行对比&#xff0c;数值小的赋值给第一个&#xff0c;一轮比较过后&#xff0c;则数值小的放在最前边。// 第二轮比较&#xff0c;则最前边的不…

网站内部链接优化方法asp源码下载

Ps&#xff1a;喂喂喂&#xff0c;你萌不要光收藏不点赞呀_(:з」∠)_emmmm... 搞清楚LSTM中的每个公式的每个细节为什么是这样子设计吗&#xff1f;想知道simple RNN是如何一步步的走向了LSTM吗&#xff1f;觉得LSTM的工作机制看不透&#xff1f;恭喜你打开了正确的文章&#…

重庆网站产品推广荣耀正品查询入口

使用 Offset Explorer&#xff08;也称为 Kafka Tool&#xff09;3.0.1 连接到 Kafka 并通过 SASL 进行身份验证&#xff0c;可以按照以下步骤进行配置&#xff1a; 1. 确保 Kafka 配置支持 SASL 首先&#xff0c;确保你的 Kafka 集群已配置为支持 SASL。你需要在 server.pro…

网站开发建设总结论坛发帖

目录  (1)优点&#xff1a; (2)缺点&#xff1a; (3)使用场景&#xff1a; (4)注意事项&#xff1a; (5)应用实例&#xff1a; 代码 备忘录模式(memento) 备忘录模式&#xff08;Memento Pattern&#xff09;保存一个对象的某个状态&#xff0c;以便在适当的时候恢复对…

电子商务网站建设第一章课后住房建设部官方网站

Compose版本发展 19年&#xff0c;Compose在Google IO大会横空出世&#xff0c;大家都议论纷纷&#xff0c;为其前途堪忧。 21年7月Compose 1.0的正式发布&#xff0c;却让大家看到了Google在推广Compose上的坚决&#xff0c;这也注定Compose会成为UI开发的新风向。 23年1月…

商城网站素材设置 iis 网站维护中

1 Makefile的作用 Makefile 指的是一个叫 Makefile 的文件,里面提前写了一些指令。每次要自动化的完成一个比较复杂项目的自动编译用的时候,就在命令行输入“make”命令Makefile使用。使用Makefile可以 “智能” 的知道: 1 哪些文件需要先进行编译。 2 当某一文件在某次mak…

软件园专业做网站网站建设提供资料表

给个关注&#xff1f;宝儿&#xff01; 给个关注&#xff1f;宝儿&#xff01; 给个关注&#xff1f;宝儿&#xff01; 1 JDBC基础 JDBC(Java Database Connectivity)是Java提供对数据库进行连接、操作的标准API。Java自身并不会去实现对数据库的连接、查询、更新等操作而是通…

网站导航一定要一样吗怎样打开网站

1.公安备案网址 https://beian.mps.gov.cn/ 选择用户登录->法人用户登录 左边的码下载APP&#xff0c;登上去之后用APP扫右边的码&#xff0c;人脸识别

怎么做网站表白合肥公司网站建设价格低

IP地址城市版查询接口 API是指能够根据IP地址查询其所在城市等地理位置信息的API接口。这类接口在网络安全、数据分析、广告投放等多个领域有广泛应用。以下是一些可用的IP地址城市版查询接口API及其简要介绍 1. 快证 IP归属地查询API 特点&#xff1a;支持IPv4 提供高精版、…

国外网站为啥速度慢垂直电商网站如何做内容运营

函数 需要声明原型支持不定参数 func sum(numbers ...int)int支持返回多值支持递归支持命名返回参数 // 命名返回参数 func add(a, b int) (sum int) {sum a breturn // 这里不需要显式地写出返回值&#xff0c;因为已经在函数签名中声明了命名返回参数 } 支持匿名函数、闭包…

外贸网站建设和优化wordpress主题外贸下载

大家好&#xff0c;提到Linux&#xff0c;一些用户会认为这是一个复杂的操作系统&#xff0c;因为所有工作都是通过终端使用命令来完成的。但是当用户开始在Linux上工作时&#xff0c;就会喜欢上这些命令&#xff0c;在Linux上工作一段时间后&#xff0c;用户会开始更喜欢Linux…