public AEDBObject(IDBTable table, object memDB, string id, object data, bool isFromDB) { _table = (IDBTable)table; _memDB = (DBRedisDB)memDB; _id = id; dynamic d = data; for (int i = 0; i < _table.desc.columCount; ++i) { string keyName = _table.desc.getName(i); _datas[keyName] = d[keyName]; if (isFromDB) { // data from database, update last save datas if (_table.desc.getDataType(keyName) == AEDBDataType.ADDT_BINARY) { byte[] objBytes = AEDBHelper.serializeObject(d[keyName]); _lastSaveDatas[keyName] = objBytes; } else { _lastSaveDatas[keyName] = d[keyName]; } } } }
public DBRedisDB getDB(string name) { DBRedisDB db = null; _dbs.TryGetValue(name, out db); return(db); }
virtual public bool fin() { if (_memDB != null) { // _memDB is managed by DB manager, don't release here _memDB = null; } return(true); }
virtual public bool init(object config) { dynamic conf = config; _desc.initFromConf(conf); _memDB = DBRedisManager.manager.getDB(conf.memDBName); if (_memDB == null) { Debug.logger.log(LogType.LOG_ERR, "AEDBMemTable name[" + this.desc.name + "] not exist!"); return(false); } // TO DO : memtable data never expire return(true); }
public bool init(object config) { Debug.logger.log(LogType.LOG_SYSTEM, "AEServer Start Initialize DBManager redis..."); dynamic conf = config; foreach (var item in conf.db) { DBRedisDB db = new DBRedisDB(); db.init(item); _dbs[item.name] = db; } Debug.logger.log(LogType.LOG_SYSTEM, "AEServer Start Initialize DBManager redis OK"); return(true); }