redis vs hazelcast

Fed*_*ico 32 redis hazelcast

Redis与Hazelcast如果我的应用程序:

  • 有很多需要保存的http请求(每分钟6000个,我收集点击信息)
  • 有很多http请求查询以前保存的数据.

我的问题是 - 我应该选择在Re​​dis和Hazelcast之间存储和查询数据 - 哪一个更快的读写? - 哪一个更可靠? - Cassandra可能是更好的选择吗?

回答任何问题都有帮助

小智 23

我们从redis切换到hazelcast以满足我们的缓存需求.

  • Protostuff + Hazelcast比我们快得多
  • Protostuff + Jedis(合并)+ Redis

我们使用protostuff来序列化创建昂贵的bean.Hazelcasts标准序列化机制要慢得多.我们的环境是Glassfish 3.1.

Hazelcast看起来只有java库,Redis每种语言都有一个.

真正.Hazelcast仅提供REST API和memcached协议的实现.

  • 现在,Hazelcast在.Net,Java,C ++,NodeJS,Python,Go和Scala中有许多正式的客户端,这些客户端在[此处]列出(https://hazelcast.org/clients-languages/) (8认同)

Nik*_*rov 14

有一个非常方便的lib - Redisson.它提供了分布式Java对象和服务(BitSet,BloomFilter,Set,SortedSet,Map,ConcurrentMap,List,Queue,Deque,BlockingQueue,BlockingDeque,ReadWriteLock,Semaphore,Lock,AtomicLong,CountDownLatch,Publish / Subscribe,RemoteService,ExecutorService,LiveObjectService,ScheduledExecutorService对Redis的服务器上)!

它支持集群,标记,主/从和单连接模式.

完美适用于云并支持AWS Elasticache和Azure Redis Cloud

以下是Redisson客户的一些成功案例:

使用Redis从Hazelcast迁移到Redis
分布式锁定(从Hazelcast迁移)

  • 恕我直言,您是 redisson 的作者,所以请在答案中清楚地说明这一点。 (5认同)
  • @hosseinbakhtiari 完成 (2认同)

Eri*_*ric 14

截至2017年,Redis和Hazelcast都提供高可用性\可扩展密钥\值存储.响应时间非常快<10ms.

Redis的独特之处在于它支持其他数据结构,如sored sets,hash sets和pub\sub机制.它也可以通过lua脚本进行扩展.它可能是这两种产品中最受欢迎和最广泛使用的产品.特别是在Java生态系统之外.

Hazelcast的独特之处在于它可以嵌入到Java主机进程中,因此非常适合构建有状态的微服务而无需外部数据库依赖.它还有一些其他的小差异,比如能够从密钥到期时恢复回调.从某种意义上说,它总体上做得较少,但它做的事情很少,它会更好.特别是如果你使用的是Java.

总的来说,这些是针对类似用例设计的类似解决方案,例如缓存外部数据,为有状态微服务创建通信背板或共享内存状态,甚至可能存储具有一定程度耐久性的(少量非关系型)业务数据.

  • 我同意,对于Redis群集的RC和Redis的新SaaS托管服务,自从我写这篇文章以来,在将Redis扩展到多个水平负载平衡实例方面已经发生了变化. (2认同)

Col*_*lum 1

Redis 和 Hazelcast 都是基于内存的数据库,因此理论上它们应该提供相同的速度和性能。查看 Hazelcast 的文档,您将获得更好的 Redis 支持,因为有大量用于与数据库交互的库。Hazelcast 看起来他们只有 java 库,而 Redis 每种语言都有一个。

答案:

  1. 你必须自己测试一下,据我所知,不同的比较表明 Redis 更快,其中之一就在这里,但我不会说这些基准测试是 100%

  2. 它们应该都是可靠的,但我不能为 Hazelcast 提供担保。

  3. 或许...

我会选择 Redis,因为我发现它是最有用的,而且它有很棒的文档。

  • 该基准测试将 Redis 与 memcached 进行比较,而不是 Hazelcast。 (11认同)