java缓存技术有哪些 用了缓存了,数据库就没问题了吗?
用了缓存了,数据库就没问题了吗?
当然不是。
如果数据库有问题,我们应该根据系统对数据库的读写压力来决定。
通常当用户达到一定水平后,我们会根据系统的业务特点进行相应的技术架构调整和服务器扩展。让我简单介绍一下常见的中小互联网公司的数据扩展过程。其过程大致如下:
单实例数据库--->读写分离--->缓存服务--->多实例数据库--->多实例缓存--->冷热分离--->数据平台沉淀--->分布式搜索引擎
当然,这个过程不是很严谨,但也很复杂非常粗糙。不同的业务系统需要不同的拆分和数据扩展方法。有些人甚至喜欢使用服务器本身的内存来缓存一些数据。这里只是一个简单的解释,当系统给数据库带来压力时,我们应该继续做技术跟进。当然,随着业务系统的发展,技术架构往往是解耦的。技术架构和业务架构相辅相成。
这里是一个简单的帖子,提供了一个常见的基本互联网架构图:
如果您对系统架构设计感兴趣,请注意或查看我以前的答案。有信息共享。谢谢
cache breakdown
cache breakdown表示缓存中没有用户请求的数据,但数据库中有用户请求的数据。此时,如果并发用户多,无法通过缓存获取数据,只能从数据库中获取数据,数据库压力瞬间增大,系统访问速度慢。
Cache avalanche
Cache avalanche是指大量的缓存数据同时过期,当有大量的访问时,会导致数据库压力的增加和停机时间的增加。
cache avalanche和cache breakdown的区别是cache avalanche是指大量数据的过期,cache breakdown是指单个cache的过期
根本原因是系统在设计时没有设计合理的cache系统
对于热数据,可以考虑将其设置为永不过期,并手动处理热数据
对于缓存数据,设置过期时间是为了避免同时出现大量缓存数据失败
我们可以考虑分布式配置缓存
java缓存技术有哪些 java后端解决跨域的方法 java缓存框架
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。