36

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

  • 有大量需要保存的 http 请求(每分钟 6,000 个,我收集点击信息)
  • 有很多http请求查询之前保存的数据。

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

回答任何问题都有帮助

4

5 回答 5

28

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

  • Protostuff + Hazelcast 对我们来说比
  • Protostuff + Jedis(合并)+ Redis

我们使用 protostuff 序列化创建成本高的 bean。Hazelcast 的标准序列化机制要慢得多。我们的环境是 Glassfish 3.1。

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

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

于 2011-06-18T20:22:03.477 回答
17

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

它支持集群、哨兵、主/从和单连接模式。

完美地在云中工作并支持 AWS Elasticache 和 Azure Redis Cloud

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

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

请注意:我是 Redisson 的作者

于 2014-01-12T15:32:00.803 回答
15

截至 2017 年,Redis 和 Hazelcast 都提供高度可用\可扩展的键\值存储。具有非常快的响应时间 < 10ms。

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

Hazelcast 的独特之处在于它可以嵌入到 Java 主机进程中,非常适合构建有状态的微服务,而无需外部数据库依赖。它还有一些其他的小区别,比如从密钥过期中获得回调的能力。从某种意义上说,它总体上做得更少,但它做的几件事,它做得更好。特别是如果您使用的是 Java。

总体而言,这些是为类似用例设计的类似解决方案,例如缓存外部数据、为有状态的微服务创建通信背板或共享内存状态,或者甚至可能以某种程度的持久性存储(少量非关系)业务数据。

于 2014-05-23T03:17:45.500 回答
1

Both Redis and Hazelcast are memory based databases, so in theory, they should provided the same speed and performance. Looking over the docs for Hazelcast, you will get better support with Redis because of the wide amount of Libraries for interfacing with the database. Hazelcast looks like they only have java libs, Redis has one for every language.

Answers:

  1. You will have to test this on your own, as far as I can tell different comparisons shows Redis as faster one of them is here, but i won't say these benchmarks are 100%

  2. They should be both reliable, but I can not vouch for Hazelcast.

  3. Maybe...

I would go with Redis, because I find it is the most usable and it has great documentation.

于 2010-11-08T18:08:45.290 回答
1

要确定哪个好,有一个关于客户端线程使用的问题。

根据这个基准,如果你使用更多线程,Hazelcast 比 Redis 更好。也许这是一个不公平的公司基准,但显示了一些关于线程的东西。

于 2016-11-11T07:38:41.497 回答