Пример #1
0
        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];
                    }
                }
            }
        }
Пример #2
0
        public DBRedisDB getDB(string name)
        {
            DBRedisDB db = null;

            _dbs.TryGetValue(name, out db);
            return(db);
        }
Пример #3
0
        virtual public bool fin()
        {
            if (_memDB != null)
            {
                // _memDB is managed by DB manager, don't release here
                _memDB = null;
            }

            return(true);
        }
Пример #4
0
        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);
        }
Пример #5
0
        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);
        }