Redis 还是 Ehcache?
Redis or Ehcache?
哪个更适合以下环境:
- 坚持不是强迫。
- 多台服务器(使用 Ehcache 必须需要一些缓存同步)。
- 写入不频繁,读取频繁。
- 相对较小的数据库(非常少的内存需求)。
我会倾诉我目前的想法。这些我可能是错的。
我知道 Redis 需要一个单独的服务器(?),而 Ehcache 提供本地缓存,因此它必须更快,但会跨服务器复制缓存(?)。使用 Ehcache 可以在更新一个缓存后更新所有缓存。
我的问题是哪个更适合我提到的环境?
谁的表现会更好或者在什么情况下一个人可能会超越另一个人?
提前致谢。
你可以认为Redis是一个共享数据结构,而Ehcache是一个内存块存储序列化数据对象。这是主要区别。
Redis 作为一个共享数据结构意味着你可以把一些预定义数据结构(比如String, List, Set etc) 在一种语言中,并在另一种语言中检索它。如果您的项目是 多语言,这将很有用,例如:Java 后端,PHP 前端。您可以将 Redis 用于共享缓存。但是它只能存储预定义的数据结构,你不能插入任何你想要的Java对象。
如果您的项目只是 Java,即不是 多语言,Ehcache 是一个方便的解决方案。
您将遇到 EhCache 缩放问题,并且需要资源在故障转移等期间对其进行管理。
Redis 优于 EhCache 的:
- 它使用久经考验的八卦协议进行节点发现和同步。
- AWS ElastiCache, Azure Redis Cache 等完全托管服务的可用性。此类服务提供 Redis 的完全自动化、支持和管理,因此开发人员可以专注于他们的应用程序,而不是维护他们的数据库。
- 更正大内存量处理(我们都知道Redis可以在单机上处理数百GB的RAM)。它没有像 Java.
这样的垃圾收集问题
最后 Java 开发人员友好的 Redis 客户端 - Redisson。
Redisson 在 Redis 之上提供了许多 Java 友好对象 ,例如:
- 设置
- 并发映射
- 列表
- 队列
- 双端队列
- 阻塞队列
- BlockingDeque
- 读写锁
- 信号量
- 锁定
- AtomicLong
- CountDownLatch
- 发布/订阅
- 执行器服务
- 还有更多...
Redisson 支持 本地缓存 的 Map 结构,它可以为您提供 45x 的读取操作性能提升。
这里the article描述了Ehcache和Redis的详细特性对比
哪个更适合以下环境:
- 坚持不是强迫。
- 多台服务器(使用 Ehcache 必须需要一些缓存同步)。
- 写入不频繁,读取频繁。
- 相对较小的数据库(非常少的内存需求)。
我会倾诉我目前的想法。这些我可能是错的。
我知道 Redis 需要一个单独的服务器(?),而 Ehcache 提供本地缓存,因此它必须更快,但会跨服务器复制缓存(?)。使用 Ehcache 可以在更新一个缓存后更新所有缓存。
我的问题是哪个更适合我提到的环境?
谁的表现会更好或者在什么情况下一个人可能会超越另一个人?
提前致谢。
你可以认为Redis是一个共享数据结构,而Ehcache是一个内存块存储序列化数据对象。这是主要区别。
Redis 作为一个共享数据结构意味着你可以把一些预定义数据结构(比如String, List, Set etc) 在一种语言中,并在另一种语言中检索它。如果您的项目是 多语言,这将很有用,例如:Java 后端,PHP 前端。您可以将 Redis 用于共享缓存。但是它只能存储预定义的数据结构,你不能插入任何你想要的Java对象。
如果您的项目只是 Java,即不是 多语言,Ehcache 是一个方便的解决方案。
您将遇到 EhCache 缩放问题,并且需要资源在故障转移等期间对其进行管理。 Redis 优于 EhCache 的:
- 它使用久经考验的八卦协议进行节点发现和同步。
- AWS ElastiCache, Azure Redis Cache 等完全托管服务的可用性。此类服务提供 Redis 的完全自动化、支持和管理,因此开发人员可以专注于他们的应用程序,而不是维护他们的数据库。
- 更正大内存量处理(我们都知道Redis可以在单机上处理数百GB的RAM)。它没有像 Java. 这样的垃圾收集问题
最后 Java 开发人员友好的 Redis 客户端 - Redisson。
Redisson 在 Redis 之上提供了许多 Java 友好对象 ,例如:
- 设置
- 并发映射
- 列表
- 队列
- 双端队列
- 阻塞队列
- BlockingDeque
- 读写锁
- 信号量
- 锁定
- AtomicLong
- CountDownLatch
- 发布/订阅
- 执行器服务
- 还有更多...
Redisson 支持 本地缓存 的 Map 结构,它可以为您提供 45x 的读取操作性能提升。
这里the article描述了Ehcache和Redis的详细特性对比