java高并发下缓存问题的现象及本质原因是什么?
缓冲击穿
缓存崩溃意味着缓存中没有用户请求的数据,但数据库中有用户请求的数据。此时,如果有许多并发用户可以t通过缓存获取数据,只能从数据库获取数据,导致数据库压力瞬间增大,系统访问变慢。
缓存雪崩
缓存雪崩是指大量缓存数据同时过期。这时候大量的访问导致数据库压力剧增,进而宕机。
缓存雪崩和缓存崩溃的区别在于,缓存雪崩是指大量数据到期,缓存崩溃是指单个缓存数据到期。
本质原因是系统设计时缓存系统的设计不合理。
对于热点数据,可以考虑设置为永不过期,手动处理热点数据。
缓存数据的失效时间随机设置,避免大量缓存数据同时失效。
您可以考虑以分布式配置缓存。
java程序消耗内存太大怎么办?应该如何解决?
如果事实证明不是内存溢出,而是程序的正常需要,可以考虑把需要的数据放到redis中,而不是存储在java程序的变量中。
这样可以大大降低内存消耗,方便程序的集群部署和数据共享。
原文标题:java 从缓存中怎么取想要的数据 Java高并发下缓存问题的现象及本质原因是什么?,如若转载,请注明出处:https://www.lrccn.com/mv/34856.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「歌词网」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。