- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
Enterprise Ehcache的BigMemory与使用RAM盘的Ehcache Community Edition的Diskstore相比性能如何?
Big Memory通过减少 GC 的开销,允许缓存在对象堆之外使用其他类型的内存存储,如果我们使用了对象堆中的所有 RAM。序列化和反序列化确实发生在这个堆外存储中。
同样,Diskstore 也是二级缓存,将序列化后的对象存储在磁盘上。
在上面的链接中提到堆外存储比磁盘存储快两个数量级。如果我将 Diskstore 配置为将数据存储在 RAM Disk 中,会发生什么情况? ? BigMemory 还会有明显的性能优势吗?
BigMemory 是否做了一些其他的优化?有没有人遇到过比较这两种方法的此类实验?
最佳答案
以下是在 terracotta forum 上对该问题的回答摘录.
“我希望您在使用开源(社区版)Ehcache 磁盘存储时面临的三大问题是:首先,在开源中,只有值存储在磁盘上——键和将键映射到值的元数据仍然存储在堆中(对于 BigMemory 而言并非如此)。这意味着堆仍然是缓存大小的限制因素。其次,开源磁盘存储被设计为由单个(传统上旋转的磁盘 - 尽管有些人现在确实使用 SSD 驱动器),这意味着后端比 Enterprise BigMemory 的并发性更低(尤其是在写入方面),因为瓶颈预计在硬件级别。第三,开源磁盘存储执行的序列化空间效率较低所以序列化的值有更大的开销。”
关于java - EhCache BigMemory 与 RAM 磁盘上的 Diskstore,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5258862/
我正在尝试配置 Infinispan 以设置内存中的最大条目,并且其他条目(如果超过内存大小)应保留到本地文件存储。是否可以在 infinispan 中设置(我正在进行编程配置)?我记得它在 ehca
我正在使用 ehcache。我正在缓存 Spring @Service 方法: @Service( value = "dataServicesManager" ) @Transactional pub
Enterprise Ehcache的BigMemory与使用RAM盘的Ehcache Community Edition的Diskstore相比性能如何? Big Memory通过减少 GC 的开销
我是一名优秀的程序员,十分优秀!