当前位置: 首页 > 知识库问答 >
问题:

Redis还是Ehcache?

东郭自珍
2023-03-14

其更适合于以下环境:

    < li >坚持不是强迫。 < li >多个服务器(对于Ehcache,必须要求一些缓存同步)。 < li >非频繁写入和频繁读取。 < li >相对较小的数据库(内存需求非常少)。

我会倾吐我现在的想法。关于这些,我可能是错的。

我知道Redis需要一个单独的服务器(?)Ehcache提供本地缓存,因此它必须更快,但会跨服务器复制缓存(?)。使用Ehcache,可以在一个缓存上进行某些更新后更新所有缓存。

我的问题是哪个更适合我提到的环境?
谁的表现会更好,或者当一个人可能跑赢另一个人时,情况是什么?

提前感谢。

共有2个答案

公孙和怡
2023-03-14

您将遇到 EhCache 扩展的问题,并且需要资源在故障转移等过程中对其进行管理。Redis 比 EhCache 更有利:

    < li >它使用久经考验的gossip协议进行节点发现和同步。 < like AWS ElastiCache、Azure Redis Cache等完全托管服务的可用性。这种服务提供Redis的完全自动化、支持和管理,因此开发人员可以专注于他们的应用程序,而不用维护他们的数据库。 < li >纠正大内存量处理(我们都知道Redis可以在单台机器上管理数百GB的RAM)。它没有Java那样的垃圾收集问题。

最后,Java开发者友好的Redis客户端Redisson的存在。
Redisson在Redis之上提供了许多Java友好的对象,例如:

  • 设置
  • ConcurrentMap
  • 列表
  • 队列
  • 德克
  • 阻止队列
  • 阻止Deque
  • 读写锁定
  • 信号量
  • 锁定
  • 原子长
  • 倒计时锁存器
  • 发布/订阅
  • 执行器服务
  • 还有更多

Redisson支持Map结构的本地缓存,为读取操作提供45倍的性能提升。

这篇文章详细介绍了Ehcache和Redis的功能比较。

陆雨华
2023-03-14

你可以把Redis想成一个共享的数据结构,而Ehcache是一个存储序列化数据对象的内存块。这是最主要的区别。

Redis作为一种共享数据结构意味着你可以把一些预定义的数据结构(比如字符串、列表、集合等)放在一种语言中,然后用另一种语言检索。如果你的项目是多语言的,这是很有用的,例如:Java是后端,PHP是前端。您可以将Redis用于共享缓存。但是它只能存储预定义的数据结构,你不能插入任何你想要的Java对象。

如果您的项目只是Java,即不是多语言的,Ehcache是一个方便的解决方案。

 类似资料:
  • 问题内容: 我正在通过简单的界面在我的Rails 3应用程序中使用memcached进行一些缓存,现在我想使用redis和resque进行一些后台作业处理。 我认为它们的区别足以保证两者都使用。但是在heroku上,使用memcached和Redis需另外付费。两者都使用是否有意义,还是应该只使用Redis迁移? 我喜欢使用memcached进行缓存,因为最近最少使用的键会自动从缓存中推出,并且我

  • 问题内容: 各种NoSQL数据库的优缺点是什么? 特别是,在跨多个服务器分配写负载时,Redis似乎很弱。是这样吗 这是个大问题吗?在此成为严重问题之前,服务必须增长多少? 问题答案: NoSQL数据库(以及SQL数据库)的优缺点在 很大程度上 取决于您的用例。对于大型项目,性能为准;但是对于全新的项目或时间和金钱有限的项目,简单性和上市时间可能是最重要的。对于自学(拓宽视野,成为更好,更有价值的

  • 问题内容: 基于 http://redis.io/topics/faq Redis是内存中的,但是持久存储在磁盘数据库上。 那么我是否知道Redis将键/值保存在内存或磁盘中?或两者? 在Redis中写入值时,它是否同时写入内存和磁盘? 谢谢你的概念。 问题答案: 根据配置方式的不同,redis可以定期将现有状态备份到磁盘,但否则,所有内容都在内存中。

  • 问题内容: 在我的应用程序(node / express / redis)中,我使用一些代码同时更新数据库中的多个项目: 我可以确定在方法返回之前将执行所有这些操作吗?我关心的是异步处理。由于我不在db操作中使用回调函数,因此可以吗? 问题答案: 使用MULTI / EXEC命令创建命令队列并连续执行它们。然后使用回调发送回连贯的响应(成功/失败)。请注意,您必须使用Redis的AOF来避免这种情

  • 问题内容: 我对Redis的所有可用存储选项有些困惑。我想做一些简单的事情,我不想过度设计。我正在与和合作。 我有一个需要存储的简单关联数组。我还需要能够通过其键检索一个项目并遍历所有项目。 所以到目前为止,我一直在使用type。像这样存储我的数组: 这样,我可以像这样轻松访问密钥: 但是现在我需要遍历所有我不知道如何做的帖子,以及是否可以使用我当前的结构来完成。我不知道是否需要将所有内容存储在另