Spring Redis还是Ehcache?
哪个更适合以下环境:Spring Redis还是Ehcache?,spring,caching,redis,spring-boot,ehcache,Spring,Caching,Redis,Spring Boot,Ehcache,哪个更适合以下环境: 坚持不是强迫 多台服务器(使用Ehcache时,必须进行一些缓存同步) 不频繁的写入和频繁的读取 相对较小的数据库(非常少的内存需求) 我会把我现在脑子里想的倒出来。我可能错了 我知道Redis需要一个单独的服务器(?),而Ehcache提供本地缓存,所以它必须更快,但会跨服务器复制缓存(?)。使用Ehcache可以在一个缓存上进行某些更新之后更新所有缓存 我的问题是哪一个更适合我提到的环境? 谁的表现会更好,或者当一个表现可能优于另一个时会出现什么情况 提前感谢。您可以将
谁的表现会更好,或者当一个表现可能优于另一个时会出现什么情况
提前感谢。您可以将Redis视为共享数据结构,而Ehcache是存储序列化数据对象的内存块。这是主要区别 Redis作为一种共享数据结构,意味着您可以用一种语言放置一些预定义的数据结构(如字符串、列表、集合),然后用另一种语言检索。如果您的项目是多语言的,例如:Java是后端,PHP是前端,那么这非常有用。您可以将Redis用于共享缓存。但它只能存储预定义的数据结构,不能插入任何想要的Java对象
如果您的项目只是Java,即不是多语言的,那么Ehcache是一个方便的解决方案 您将遇到EhCache扩展问题,并需要资源在故障切换等过程中对其进行管理。 Redis在EhCache上的优势
Redisson在Redis上提供了许多Java友好对象,如:
- 设置
- 并行映射
- 名单
- 排队
- 德克
- 阻塞队列
- 封锁德克
- 读写锁
- 信号量
- 锁
- 原子长
- 倒计时闩锁
- 发布/订阅
- 遗嘱执行人服务
- 还有更多
这里描述了个人资本公司从EhCache到Redis的过渡经历从(java//spring)开发者的角度进行了一些解释,实现任何性能更好的想法都要容易得多??当你遇到性能问题时,你应该考虑性能。现在不行,你可以将Redis作为缓存实现,因为它在使用Amazon的ElastiCache时具有分布式特性,对于开发人员来说,为应用程序基础结构制作缓存服务器是一个更好的选择。我最终使用了redis,后来改用hazelcast(我发现redisson与hazelcast类似,支持java友好对象等)。我会考虑在未来的项目中使用ReDebug:)是的,但是我总是可以将java对象序列化为JSON字符串并存储在ReDIS中。我相信这就是大多数人使用redis作为缓存的方式。