tom*_*asb 5 java caching persistent
我需要为我的网络抓取工具提供快速且持久的缓存.它不需要像Java中的ConcurrentSkipListSet一样快,但绝对不能使用基于哈希索引的表,我尝试过.在1m +记录之后,它需要80%的处理器时间.
有没有人知道或听说过这种情况有用的东西?
谢谢你的任何提示.
小智 6
我是Terracotta的一名员工(不是工程师),但我想要增加一些清晰度,无论我的技能如何,都会使那些为这个帖子提供咨询的人有所帮助.
是的,Ehcache在缓存方面是一个很好用的选项,在国际上有超过500,000个部署,并且通常用于具有分布式缓存的小型集群.如果你的应用程序是基于Java的,那么Terracotta可以说是"BigData"提供了最大的性能提升,因为它为应用程序提供了内存速度和堆优势.
是的,BigMemory Go是免费的.它是一个32GB的免费增值产品,不要与开源混淆.它不能在分布式缓存中使用,该选项与BigMemory Max和gb限制相比要少得多.
BigMemory持久化到磁盘.Terracotta服务器阵列(L2)与磁盘通信,以确保即使在灾难性电源故障时数据也不会丢失.兵马俑具有类似酸的特性,具有99.999%的数据耐久性.*Terracotta服务器阵列的这个概念通常会引起很多混乱,请参阅http://terracotta.org/documentation/terracotta-server-array/server-arrays以获取更多信息.
BigMemory是一个非堆数据存储,完全不含垃圾收集.这是通过字节代码缓冲区完成的,并且此数据存储由自动资源控制主动管理.根据您的要求决定(即您想要在缓存中需要多少个对象,无论您想要立即或最终的吞吐量,对象的生存时间等),自动资源控制将为您完成此工作.这意味着没有GC,堆大小受服务器可用内存的限制,最重要的是,不需要调整.
知道你需要多大的缓存是猜测和检查方法,每个应用程序都是唯一的,因此我们无法自信地估计需要将多少数据放入内存.我怀疑任何供应商告诉你需要将"n"GB放入缓存以达到xyz的SLA ...
如果我在这里张贴道德规范或者有任何隐含的偏见,我提前道歉.希望这些信息能够增加一些清晰度,并对有关兵马俑的常见问题有所了解.
| 归档时间: |
|
| 查看次数: |
9969 次 |
| 最近记录: |