Skip to content

Commit 8052728

Browse files
committed
feat:rocksdb options
1 parent 0b52980 commit 8052728

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

rocksdb-learning/src/main/java/org/rocksdb/options/OptionsFeature.java

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,23 @@
11
package org.rocksdb.options;
22

33

4+
import org.rocksdb.BlockBasedTableConfig;
45
import org.rocksdb.BuiltinComparator;
6+
import org.rocksdb.Cache;
7+
import org.rocksdb.ColumnFamilyDescriptor;
8+
import org.rocksdb.ColumnFamilyHandle;
9+
import org.rocksdb.ColumnFamilyOptions;
10+
import org.rocksdb.DBOptions;
511
import org.rocksdb.FlushOptions;
612
import org.rocksdb.Options;
713
import org.rocksdb.ReadOptions;
814
import org.rocksdb.RocksDB;
915
import org.rocksdb.RocksDBException;
1016
import org.rocksdb.WriteOptions;
1117

18+
import java.util.ArrayList;
19+
import java.util.List;
20+
1221
/**
1322
* @fileName: OptionsFeature.java
1423
* @description: options配置
@@ -35,4 +44,33 @@ private void tsOpt() throws RocksDBException {
3544
RocksDB db = RocksDB.open("test");
3645
db.get(readOptions, "test".getBytes());
3746
}
47+
48+
49+
private void writeBufferSizeOptions() throws Exception {
50+
DBOptions dbOptions = new DBOptions();
51+
// 默认大小是关闭的
52+
dbOptions.setDbWriteBufferSize(64 << 30);
53+
List<ColumnFamilyDescriptor> columnFamilyDescriptors = new ArrayList<>();
54+
ColumnFamilyOptions columnFamilyOptions = new ColumnFamilyOptions();
55+
// 默认为64MB
56+
columnFamilyOptions.setWriteBufferSize(64 << 20);
57+
ColumnFamilyDescriptor columnFamilyDescriptor = new ColumnFamilyDescriptor("name".getBytes(),
58+
columnFamilyOptions);
59+
columnFamilyDescriptors.add(columnFamilyDescriptor);
60+
List<ColumnFamilyHandle> columnFamilyHandles = new ArrayList<>();
61+
RocksDB.open(dbOptions, "test", columnFamilyDescriptors, columnFamilyHandles);
62+
}
63+
64+
private void blockSizeOptions() throws Exception {
65+
BlockBasedTableConfig blockBasedTableConfig = new BlockBasedTableConfig();
66+
// 设置128MB
67+
blockBasedTableConfig.setBlockCache(new Cache(128 << 20) {
68+
@Override
69+
protected void disposeInternal(long handle) {
70+
71+
}
72+
});
73+
74+
}
75+
3876
}

0 commit comments

Comments
 (0)