这些年科学技术的发展是越来越好了,更多的人开始学习新技术来充实自己。不知道大家有没有了解过关于热点数据的相关知识,这也是非常重要的。具体内容一起来看看吧。
首先,我们需要明白的是,热点数据,缓存才有价值
对于冷数据而言,大部分数据可能还没有再次访问到就已经被挤出内存,不仅占用内存,而且价值不大。频繁修改的数据,看情况考虑使用缓存。
对于热点数据,比如我们的某IM产品,生日祝福模块,当天的寿星列表,缓存以后可能读取数十万次。再举个例子,某导航产品,我们将导航信息,缓存以后可能读取数百万次。
**数据更新前至少读取两次,**缓存才有意义。这个是最基本的策略,如果缓存还没有起作用就失效了,那就没有太大价值了。
那存不存在,修改频率很高,但是又不得不考虑缓存的场景呢?
有。比如,这个读取接口对数据库的压力很大,但是又是热点数据,这个时候就需要考虑通过缓存手段,减少数据库的压力,比如我们的某助手产品的,点赞数,收藏数,分享数等是非常典型的热点数据,但是又不断变化,此时就需要将数据同步保存到redis缓存,减少数据库压力。
然后来看一下,Memcache与Redis的区别都有哪些?
1.存储方式Memecache把数据全部存在内存之中,断电后会挂掉,数据不能超过内存大小。 Redis有部份存在硬盘上,redis可以持久化其数据
2.数据支持类型memcached所有的值均是简单的字符串,redis作为其替代者,支持更为丰富的数据类型 ,提供list,set,zset,hash等数据结构的存储
3.使用底层模型不同 它们之间底层实现方式 以及与客户端之间通信的应用协议不一样。 Redis直接自己构建了VM 机制 ,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求。
4. value值大小不同:Redis最大可以达到512M;memcache只有1mb。
5.redis的速度比memcached快很多
6.Redis支持数据的备份,即master-slave模式的数据备份。
其实大家可以看出来,java中这种基础的知识还是非常的多的,所以这也需要我们花费很多的时间去了解。如果你想要了解更多的java常见问题,敬请关注奇Q工具网。
推荐阅读:
java spring boot中怎么使用redis?详细解析