database - 整数键/值可以存储在 LevelDB 中吗?

标签 database key-value leveldb okvs

我搜索了支持整数键和整数值的键值存储。 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/

相关文章:

java - 将值更改为字符串

database - 哪个数据库更适合存储和搜索键/值对数据?

c++ - LevelDB random read -- 为什么官方的benchmark这么好?

c++ - 在 Raspberry Pi 上编译 JUMPCoin 钱包时出错 (leveldb/libmemenv.a : error adding symbols:)

java - 有人关心用数据库解释 "Tokenized Field"吗?

mysql - 确定要删除的 MySQL 行数以达到目标数据库大小

database - Wordpress - get_results() - 如何知道失败或为空?

php - 具有快速转储数据能力的计数器键值存储

dictionary - Golang 创建一片 map

c++ - caffe的输入格式是什么?