Redis与Hazelcast如果我的应用程序:
我的问题是 - 我应该选择在Redis和Hazelcast之间存储和查询数据 - 哪一个更快的读写? - 哪一个更可靠? - Cassandra可能是更好的选择吗?
回答任何问题都有帮助
小智 23
我们从redis切换到hazelcast以满足我们的缓存需求.
我们使用protostuff来序列化创建昂贵的bean.Hazelcasts标准序列化机制要慢得多.我们的环境是Glassfish 3.1.
Hazelcast看起来只有java库,Redis每种语言都有一个.
真正.Hazelcast仅提供REST API和memcached协议的实现.
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迁移)
Eri*_*ric 14
截至2017年,Redis和Hazelcast都提供高可用性\可扩展密钥\值存储.响应时间非常快<10ms.
Redis的独特之处在于它支持其他数据结构,如sored sets,hash sets和pub\sub机制.它也可以通过lua脚本进行扩展.它可能是这两种产品中最受欢迎和最广泛使用的产品.特别是在Java生态系统之外.
Hazelcast的独特之处在于它可以嵌入到Java主机进程中,因此非常适合构建有状态的微服务而无需外部数据库依赖.它还有一些其他的小差异,比如能够从密钥到期时恢复回调.从某种意义上说,它总体上做得较少,但它做的事情很少,它会更好.特别是如果你使用的是Java.
总的来说,这些是针对类似用例设计的类似解决方案,例如缓存外部数据,为有状态微服务创建通信背板或共享内存状态,甚至可能存储具有一定程度耐久性的(少量非关系型)业务数据.
Redis 和 Hazelcast 都是基于内存的数据库,因此理论上它们应该提供相同的速度和性能。查看 Hazelcast 的文档,您将获得更好的 Redis 支持,因为有大量用于与数据库交互的库。Hazelcast 看起来他们只有 java 库,而 Redis 每种语言都有一个。
答案:
你必须自己测试一下,据我所知,不同的比较表明 Redis 更快,其中之一就在这里,但我不会说这些基准测试是 100%
它们应该都是可靠的,但我不能为 Hazelcast 提供担保。
或许...
我会选择 Redis,因为我发现它是最有用的,而且它有很棒的文档。
| 归档时间: |
|
| 查看次数: |
44234 次 |
| 最近记录: |