如何控制 DB4O 的缓存
How can I control cache of the DB4O
我很难找到有关 DB4O 的文档。如何控制 DB4O 的缓存?我认为它的连接正在消耗我们服务器的所有内存。我想设置最小缓存配置。
谁能给我推荐一些文件或给我一些例子?
我很高兴有人能提供帮助。
我建议使用探查器查看它。然后你可以看到什么样的类占用了space.
db4o 的一个典型陷阱是 'ObjectContainer' 长时间保持打开状态,激活深度很高。然后你的对象图的很大一部分保存在内存中。
一些要尝试的 nobs:
configuration.common().weakReferenceCollectionInterval(milli-secs);
db4o 多久清理一次它的弱引用缓存系统。如果您降低该间隔,则清理会更加积极。
有文件级缓存。我认为默认情况下它很低。无论如何,这里是设置:
Storage fileStorage = new FileStorage();
// A cache with 128 pages of 1024KB size, gives a 128KB cache
Storage cachingStorage = new CachingStorage(fileStorage,128,1024);
configuration.file().storage(cachingStorage);
也许还有更多缓存。我不记得当时的一切。
如果你已经像说的那样进行了缓存配置,问题可能是一个对象损坏了,你可以删除这个对象并对你的数据库进行碎片整理以提高性能
我很难找到有关 DB4O 的文档。如何控制 DB4O 的缓存?我认为它的连接正在消耗我们服务器的所有内存。我想设置最小缓存配置。 谁能给我推荐一些文件或给我一些例子?
我很高兴有人能提供帮助。
我建议使用探查器查看它。然后你可以看到什么样的类占用了space.
db4o 的一个典型陷阱是 'ObjectContainer' 长时间保持打开状态,激活深度很高。然后你的对象图的很大一部分保存在内存中。
一些要尝试的 nobs:
configuration.common().weakReferenceCollectionInterval(milli-secs);
db4o 多久清理一次它的弱引用缓存系统。如果您降低该间隔,则清理会更加积极。
有文件级缓存。我认为默认情况下它很低。无论如何,这里是设置:
Storage fileStorage = new FileStorage();
// A cache with 128 pages of 1024KB size, gives a 128KB cache
Storage cachingStorage = new CachingStorage(fileStorage,128,1024);
configuration.file().storage(cachingStorage);
也许还有更多缓存。我不记得当时的一切。
如果你已经像