浏览器总是跳转到缓存界面

介绍

关系数据库事务是ACID ,强大的一致性模型简化了应用程序开发。 由于启用Hibernate缓存是一项配置 ,因此,只要数据访问层开始出现性能问题,就转向缓存非常吸引人。 添加缓存层确实可以提高应用程序性能,但是它有其代价,您需要意识到这一点。

数据库性能调优

因此,数据库是任何企业应用程序的中心部分,其中包含有价值的业务资产。 数据库服务器的资源有限,因此可以服务有限数量的连接。 数据库事务越短,可以容纳的事务越多。 第一项性能调整操作是通过正确建立索引和优化查询来减少查询执行时间。

优化所有查询和语句后,我们可以添加更多资源( 向上扩展 )或添加更多数据库节点(向外扩展)。 水平缩放需要数据库复制 ,这意味着要同步节点。 同步复制保留了强大的一致性,而异步主从复制则导致了最终的一致性。

与数据库复制挑战类似,缓存节点会引起数据同步问题,尤其是对于分布式企业应用程序。

快取

即使适当地优化了数据库访问模式,较高的负载也可能会增加延迟。 为了提供可预测且恒定的响应时间,我们需要转向缓存 。 缓存使我们可以将数据库响应重用于多个用户请求。

因此,缓存可以:

  • 减少数据库端的CPU /内存/ IO资源消耗
  • 减少应用程序节点与数据库层之间的网络流量
  • 提供恒定的结果获取时间,对流量突发不敏感
  • 当应用程序处于维护模式时(例如,在升级数据库架构时)提供只读视图

引入缓存解决方案的不利之处在于,数据是通过两种独立的技术进行复制的,这些技术可能很容易失步。

在最简单的用例中,您有一台数据库服务器和一台缓存节点:

缓存抽象层知道数据库服务器,但是数据库对应用程序级缓存一无所知。 如果某些外部进程在不触摸缓存的情况下更新数据库,则两个数据源将不同步。 因为很少有数据库服务器支持应用程序级通知 ,所以缓存可能会破坏强一致性保证。

为了避免最终的一致性,需要在分布式XA事务中注册数据库和缓存,因此受影响的缓存条目将被同步更新或无效。

通常,构成整个企业系统的应用程序节点更多或多个不同的应用程序(Web前端,批处理程序,调度程序):

如果每个节点都有其自己的隔离缓存节点,则需要注意可能的数据同步问题。 如果一个节点在不通知其余节点的情况下更新数据库及其自身的缓存,则其他缓存节点将不同步。

在分布式环境中,当多个应用程序或应用程序节点使用缓存时,我们需要使用分布式缓存解决方案,以便:

  • 缓存节点以对等拓扑进行通信
  • 缓存节点以客户端-服务器拓扑进行通信,中央缓存服务器负责数据同步

结论

缓存是一种很好的扩展技术,但是您必须注意可能的一致性问题。 考虑到您当前的项目数据完整性要求,您需要设计应用程序以利用缓存而不损害关键数据。

缓存不是一个跨领域的问题,它渗入到您的应用程序体系结构中,并且需要一个经过深思熟虑的计划来补偿数据完整性异常。

翻译自: https://www.javacodegeeks.com/2015/04/things-to-consider-before-jumping-to-enterprise-caching.html

浏览器总是跳转到缓存界面

浏览器总是跳转到缓存界面_跳转到企业缓存之前要考虑的事项相关推荐

  1. php mysql缓存技术_系统的讲解 - PHP 缓存技术

    概述 缓存已经成了项目中是必不可少的一部分,它是提高性能最好的方式,例如减少网络I/O.减少磁盘I/O 等,使项目加载速度变的更快. 缓存可以是CPU缓存.内存缓存.硬盘缓存,不同的缓存查询速度也不一 ...

  2. picACG本地缓存目录_前端工程师必备之缓存问题

    缓存是个老生长谈的问题,对于前端工程师来讲更是我们的必修课.或许很多人会说我的项目并没有问题,根本不需要聊什么缓存.如果真的是这样,只能证明你前端道路才刚刚开始. 背景 小郭今天分享缓存的原因在于:公 ...

  3. okhttp配置缓存策略_一网打尽OkHttp中的缓存问题

    看到很多小伙伴对OkHttp的缓存问题并不是十分了解,于是打算来说说这个问题.用好OkHttp中提供的缓存,可以帮助我们更好的使用Retrofit.Picasso等配合OkHttp使用的框架.OK,废 ...

  4. python跳一跳脚本详解_跳一跳 python脚本 改进版

    原版本github地址:https://github.com/wangshub/wechat_jump_game 当时版本我用时感觉性能不佳,为能霸榜装逼,针对自己的手机进行了改进. 主要是对检测棋子 ...

  5. 网卡清空缓存命令_清除网卡中IP缓存

    如果你是一位网络管理员,遇到各式各样的网络故障是常有的事情:可是有的网络故障,无论怎么排除,就是无法消除.在万不得已的情况下,相信你肯定会删除网卡,然后重新安装网卡,以便让网卡恢复到"原始& ...

  6. 版本更新带来的缓存问题_浏览器缓存原理总结

    作者: Poetry 来源:http://blog.poetries.top/2019/01/02/browser-cache/ 一.浏览器缓存基本认识 分为强缓存和协商缓存 1.浏览器在加载资源时, ...

  7. 里面怎么缓存图片_浏览器缓存原理总结

    一.浏览器缓存基本认识 分为强缓存和协商缓存 1.浏览器在加载资源时,先根据这个资源的一些http header判断它是否命中强缓存,强缓存如果命中,浏览器直接从自己的缓存中读取资源,不会发请求到服务 ...

  8. javaweb关于用户是否登录全局判断,没有登录跳转到登录界面

    javaweb关于用户是否登录全局判断,没有登录跳转到登录界面 有这样一个需求,用户密码登录网站,在session中保留了用户的信息,但是用户很长时间没有再操作该界面,用户的session则被浏览器清 ...

  9. DEDECMS后台无法登陆并跳转回登陆界面的解决方法

    本文详细分析了DEDECMS后台无法登陆并跳转回登陆界面的解决方法.分享给大家供大家参考.具体方法如下: 一.问题: 网站已经运行了很久,前些天突然在登陆的时候提示密码不正确,而且不管怎么试,都是无法 ...

最新文章

  1. docker 安装 solr搜索引擎
  2. 科大星云诗社动态20210525
  3. MySQL DELETE 语句的一个简单介绍
  4. PLM中BOM核心技术的研究[转]
  5. “管理”解读——浅谈国内IT服务管理产品标准建立的必要性(之一)
  6. python静态递归函数_Python递归函数相关
  7. 机器视觉:工业镜头专业词汇中英文详解
  8. 交互式甘特图控件VARCHART XGantt教程:如何打印和导出图表(.NET版)
  9. Vue3.0后台管理框架
  10. 黑莓9900 刷机体验(ROM:7.1.0.318_DoCoMo_Japan版)
  11. 【数据分享】全国县市2000-2020年医疗卫生机构床位数数据(excel和shp格式)
  12. 微信公众平台开发(一) 申请微信公众账号
  13. ido 0.5 发布
  14. Spring源码分析总结(二)-Spring AOP 解析aop:aspectj-autoproxy
  15. JAVA 实现《坦克大战》游戏|CSDN创作打卡
  16. 数据分析--统计分析模型
  17. 4 个免费好用的 WordPress 图库插件
  18. 云宏CTO张国强:云宏超融合大数据一体机,中国云数一体化神器!
  19. c语言rsi2010中制运行,汇编语言初探(控制类指令)-来自第三章3.6的笔记-P135-P163
  20. 2021-01-25广州大学ACM寒假训练赛解题心得

热门文章

  1. YbtOJ#20081-[NOIP2020模拟赛B组Day8]树上排列【组合数,树形dp】
  2. P4284-[SHOI2014]概率充电器【树形dp,换根法,数学期望】
  3. ssl2646-线段树练习3【线段树】
  4. 【2018.4.7】模拟赛之五-ssl2386 序列【dp】
  5. 【线性基】彩灯(luogu 3857/金牌导航 线性基-1)
  6. 【期望】乘坐电梯(金牌导航 期望-2)
  7. HDU5877 - Weak Pair
  8. 经典题:poj2104-区间第k小 整体二分学习
  9. 7、mybatis中的sql映射文件详解(2)
  10. 编译原理(四)之解析语言翻译成三地址代码