Posted on 2010-11-01 14:20
S.l.e!ep.¢% 閱讀(1323)
評論(0) 編輯 收藏 引用 所屬分類:
FastDB
最近要研究FastDB在內存模式下的性能,但不知道如何使用它的無盤模式。
網上的說法是在config.h文件中有去掉#define DISKLESS_CONFIGURATION 1 項的注釋
這樣的話,調整inc/database.h 文件里的容量
#ifdef DISKLESS_CONFIGURATION
// In diskless confiuration database can not be reallocated
const size_t dbDefaultInitDatabaseSize = 32*1024*1024;
#else
const size_t dbDefaultInitDatabaseSize = 1024*1024;
#endif
但具體如何操作還不是很明白,而且在open數據庫時,函數為:
bool dbDatabase::open(char_t const* dbName, char_t const* fiName,
time_t waitLockTimeoutMsec, time_t commitDelaySec)
如何可以表示為內存模式,而sqlite就可以用":memory:"的方式?
希望各位大蝦幫小弟一把。
內存模式就是靠DISKLESS_CONFIGURATION來控制的
代碼中,默認這個開關是關閉的,即注釋掉的
//DISKLESS_CONFIGURATION - only in-memory temporary database
//#define DISKLESS_CONFIGURATION 1
那么你把這個注釋//給去掉,然后重新編一下fastdb就可以了