I've looked for key value stores that support integer secrets and integer values. LevelDB appears a great choice, though I can not find any info on whether integer values/secrets are supported

You are able to store virtually anything in LevelDB. You provide opaque slices of information into LevelDB through the [cde] structure. Here's a good example:

Slice

And that is virtually it!

However, one factor to notice is the fact that while it's generally fine to keep integers in LevelDB (as both secrets and values), they'll be order through the 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); so that your key needs to support bytewise comparison. This implies that should you depend on specific ordering from the secrets, then you need to be conscious from the endian-ness around the system.

You may also write your personal comparator through the [cde] interface which will help you to replace the default BytewiseComparator.