Ros*_*ian 5 database key-value leveldb
我搜索了支持整数键和整数值的键值存储.LevelDB似乎是一个不错的选择,但我找不到关于是否支持整数值/键的任何信息
Kir*_*ril 11
你可以在LevelDB中存储几乎任何东西.您通过Slice结构向LevelDB提供不透明的数据片段.这是一个例子:
int intKey = 256;
int intValue = 256*256;
Slice key((char*)&intKey, sizeof(int));
Slice value((char*)&intValue, sizeof(int));
db->Put(leveldb::WriteOptions(), key, value);
Run Code Online (Sandbox Code Playgroud)
这就是它!
但是,需要注意的一点是,尽管在LevelDB中存储整数(作为键和值)通常很好,但它们将通过命令进行排序,BytewiseComparator因此您的密钥必须支持逐字节比较.这也意味着如果您依赖于密钥的特定顺序,那么您必须注意系统上的字节序.
您也可以通过Comparator接口编写自己的比较器,以便替换默认值BytewiseComparator.