Spring Cache和Redis的区别

2022-08-06 09:36:28
  1. Spring cache是代码级的缓存,一般是使用一个ConcurrentMap,也就是说实际上还是是使用JVM的内存来缓存对象的,这势必会造成大量的内存消耗。但好处是显然的:使用方便。
  2. Redis 作为一个缓存服务器,是内存级的缓存。它是使用单纯的内存来进行缓存。
  3. 集群环境下,每台服务器的spring cache是不同步的,这样会出问题的,spring cache只适合单机环境
  4. Redis是设置单独的缓存服务器,所有集群服务器统一访问redis,不会出现缓存不同步的情况

Spring cache的基本原理:

和 spring 的事务管理类似,spring cache 的关键原理就是 spring AOP,通过 spring AOP,其实现了在方法调用前、调用后获取方法的入参和返回值,进而实现了缓存的逻辑。

补充:

什么样的数据需要放进缓存呢?把数据放入缓存,有三个标准:

  1. 数据量不大
  2. 访问频率高
  3. 数据更改频率低

参考有:Spring cache+ redis与redis 的比较

Spring Cache与Redis结合使用

开源问答-技术问答

  • 作者:babyWorld
  • 原文链接:https://blog.csdn.net/m0_37501154/article/details/89491577
    更新时间:2022-08-06 09:36:28