2016-06-21 35 views
1

У меня есть некоторые трудности с поиском документов о DB4O. Как я могу управлять кешем DB4O? Я думаю, что его соединение расходует всю память нашего сервера. Я хочу установить минимальную конфигурацию кеша. Может ли кто-нибудь порекомендовать мне какой-нибудь документ или отправить мне несколько примеров?Как я могу управлять кешем DB4O

Я рад за каждого, кто может помочь.

ответ

0

Я бы рекомендовал посмотреть на него с помощью профилировщика. Затем вы можете увидеть, какие классы занимают место.

Типичная ловушка с 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); 

Возможно, есть больше кешей. Тогда я не помню.