コード例 #1
0
ファイル: RocksDbStorage.cs プロジェクト: ocoanet/Zebus
        public void Start()
        {
            var options = new DbOptions().SetCreateIfMissing()
                          .SetCreateMissingColumnFamilies()
                          .SetMaxBackgroundCompactions(4)
                          .SetMaxBackgroundFlushes(2)
                          .SetBytesPerSync(1024 * 1024);

            var columnFamilies = new ColumnFamilies
            {
                { "Messages", ColumnFamilyOptions() },
                { "Peers", ColumnFamilyOptions() },
                { "Acks", ColumnFamilyOptions() }
            };

            _db = RocksDbSharp.RocksDb.Open(options, _databaseDirectoryPath, columnFamilies);

            _messagesColumnFamily = _db.GetColumnFamily("Messages");
            _peersColumnFamily    = _db.GetColumnFamily("Peers");
            _acksColumnFamily     = _db.GetColumnFamily("Acks");

            ColumnFamilyOptions ColumnFamilyOptions() => new ColumnFamilyOptions().SetCompression(CompressionTypeEnum.rocksdb_no_compression)
            .SetLevelCompactionDynamicLevelBytes(true)
            .SetArenaBlockSize(16 * 1024);

            LoadAllOutOfOrderAcks();
        }
コード例 #2
0
        private void Start()
        {
            var options = new DbOptions().SetCreateIfMissing()
                          .SetCreateMissingColumnFamilies()
                          .SetMaxBackgroundCompactions(4)
                          .SetMaxBackgroundFlushes(2)
                          .SetBytesPerSync(1024 * 1024);

            var columnFamilies = new ColumnFamilies
            {
                { "Peers", ColumnFamilyOptions() },
                { "Subscriptions", ColumnFamilyOptions() }
            };

            _db = RocksDbSharp.RocksDb.Open(options, DatabaseFilePath, columnFamilies);

            _peersColumnFamily         = _db.GetColumnFamily("Peers");
            _subscriptionsColumnFamily = _db.GetColumnFamily("Subscriptions");