我搜索了支持整数键和整数值的键值存储。 LevelDB 似乎是一个不错的选择,尽管我找不到任何关于是否支持整数值/键的信息
最佳答案
您几乎可以在 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);
差不多就这些了!
但是,需要注意的一件事是,虽然在 LevelDB 中存储整数通常没问题(作为键和值),但它们将通过 BytewiseComparator
进行排序,因此您的 key 必须支持按字节比较。这也意味着,如果您依赖于键的特定顺序,那么您必须注意系统上的字节顺序。
您还可以通过 Comparator
编写自己的比较器允许您替换默认 BytewiseComparator
的界面。
关于database - 整数键/值可以存储在 LevelDB 中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8804834/