Redis或Hazelcast,还是其他?

时间:2014-07-03 03:29:07

标签: caching redis distributed hazelcast

我最近拿了一个旧的网络应用程序。应用程序将在初始时将大量对象保存到Ehcache中。然后从缓存中获取对象。现在,这个对象已经增加了很多次。应用程序中的Ehcache无法满足要求。因此,我们考虑使用分布式缓存。我们将设置一些策略,让对象保存在不同的缓存服务器中。 Redis和Hazelcast都很好。问题是,Redis和Hazelcast与之前的Ehcache相比,Redis和Hazelcast必须序列化对象。可能会消耗更多时间。 哪个更好? 或者没有其他更好的选择吗?

提前致谢。

2 个答案:

答案 0 :(得分:1)

您有什么要求? Hazelcast具有可插拔的序列化,并且有像FlatBuffers这样的序列化库,如果需要的话,它们会非常快。

如果您以Java为中心,Hazelcast是理想的选择,当然如果您使用的是Hazelcast Enterprise,也可以通过.Net CLR语言访问Hazelcast。

Hazelcast不仅仅是一个简单的分布式缓存,您还可以利用群集中的分布式CPU并直接在网格中执行流程,从而实现非常高的性能。

如果你是多语言而且不需要在分布式数据(内存执行器服务,mapreduce或入口处理器)之上执行代码,那么Redis就有意义了。

答案 1 :(得分:0)

看一下Redisson - 基于Redis的内存数据网格是Ehcache的一个很好的选择。提供大量数据序列化编解码器,如:

Jackson JSONAvroSmileCBORMsgPackAmazon IonKryoJDK SerializationLZ4Snappy

它还允许使用Read-throughWrite-throughWrite-behind策略将地图数据与Redis商店一起存储在外部存储中。

提供分布式MapReduce和Executor / Scheduler服务。