java – EhCache BigMemory vs RAM磁盘上的Diskstore

与使用RAM磁盘的Ehcache Community Edition的Diskstore相比,Enterprise Ehcache的BigMemory的性能如何?

如果我们使用了对象堆中的所有RAM,Big Memory允许缓存通过减少GC的开销来在对象堆外部使用其他类型的内存存储.序列化和反序列化确实发生在这个堆外存储的放置和获取上.

类似地,Diskstore也是二级缓存,用于将序列化对象存储在磁盘上.

在上面的链接中提到了堆外存储比Diskstore快两个数量级.如果我将磁盘库配置为在RAM Disk中存储数据会发生什么? BigMemory还会有明显的性能优势吗?

BigMemory还有其他一些优化吗?有没有人遇到任何比较这两种方法的实验?

解决方法:

以下摘录了terracotta forum对这个问题的答案.

“我期望您在开源(社区版)Ehcache磁盘存储中遇到的三大问题是:首先在开源中只将值存储在磁盘上 – 密钥和将数据映射到值的元数据仍然存储在堆中(对于BigMemory来说不是这样).这意味着堆仍然是缓存大小的限制因素.其次,开源磁盘存储设计为由单个(传统旋转磁盘)支持 – 尽管有些人确实使用SSD现在驱动器),这意味着后端与Enterprise BigMemory的并发性较少(特别是在写入方面),因为预计瓶颈在硬件级别.第三,开源磁盘存储器执行的序列化空间效率较低,因此序列化值有更大的开销.“

上一篇:【Mybatis】MyBatis之缓存(七)


下一篇:什么是 redis 的雪崩、穿透和击穿?