the*_*est 1 memcached caching redis infinispan
我需要每天缓存不同的用户和应用程序数据.
语境:
MySQL 后端Java中间层使用Hibernate和Jersey我已经签出不同的缓存技术,它看起来像Memcached或者Redis是最常用的技术,用例类似地雷-许多读取和写入,即Facebook,Twitter等等.
但是我必须在使用上述两个缓存系统缓存它们之前序列化对象.这似乎是不必要的步骤缓存只是一个POJO,所以我检查了POJO缓存和偶然JBOSS的Infinispan.
有没有人有,为什么我不应该用任何理由Infinispan超过Memcached或Redis在序列化和反序列化以后,架空关注?
当Infinispan在集群模式下工作,或者必须将数据卸载到外部存储时,它将不得不面对序列化.
好消息是: - 除非必须去其他地方,否则你将避免任何序列化成本 - 它自己的序列化机制比Java的标准序列化机制(并且可以很好地定制)更有效率
Memcached和Redis是"外部"缓存解决方案,而使用Infinispan,您可以保持缓存相同的Java实例.如果这是好事还是坏事取决于您的架构细节.
虽然通常你会想要使用混合解决方案:使用Infinispan满足你的JVM需求,限制它的内存使用量,让它卸载本地不适合外部存储的东西,并且很容易让它卸载额外的要么是Redis,Memcached,另一个Infinispan集群,要么是其他几种选择.
您的好处是与一些流行的框架(即Hibernate)透明集成,并且它可以为您高效地处理序列化 - 如果需要,可能需要在后台进行.