148
59
return 1;
60
}
61
62
// Add 2 entries with name and phone number
63
if (kv.put("John", "123-456-789") != status::OK) {
64
std::cerr << db::errormsg() << std::endl;
65
return 1;
66
}
67
if (kv.put("Kate", "987-654-321") != status::OK) {
68
std::cerr << db::errormsg() << std::endl;
69
return 1;
70
}
71
72
// Count elements
73
size_t cnt;
74
if (kv.count_all(cnt) != status::OK) {
75
std::cerr << db::errormsg() << std::endl;
76
return 1;
77
}
78
assert(cnt == 2);
79
80
// Read key back
81
std::string number;
82
if (kv.get("John", &number) != status::OK) {
83
std::cerr << db::errormsg() << std::endl;
84
return 1;
85
}
86
assert(number == "123-456-789");
87
88
// Iterate through the phonebook
89
if (kv.get_all([](string_view name, string_view number) {
90
std::cout << "name: " << name.data() <<
91
", number: " << number.data() << std::endl;
92
return 0;
93
}) != status::OK) {
Chapter 9 pmemkv: a persistent in- memory key-value store
Précédent

- 173/457

Suivant