Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Key-value database options

I have looked at the key-value database Redis and am curious about alternatives that would offer the following:

  1. Instead of starting an external database engine as a separate process, and then connecting to it, e.g. via the C interface:

    redisContext *c = redisConnect("127.0.0.1", 6379);

    Is there an alternative that gives the option of including the database code as a library, and loading the data as a file within-binary? For example, given the binary myDbBinary and the command:

    $ myBinary --filter=filterOptions db.dat

    The binary myBinary would not start a separate db process and connect to its port, but, instead, myBinary loads the keys (and hashes) from the file db.dat into memory (or similar VM arrangement) which it can then filter (with filterOptions, whatever they might be) and perform key/hash lookups.

  2. C and Python interfaces to data and storage directives.

  3. Hash support, by which I mean a key maintains a hash table as a value.

Does any software like this exist?

like image 976
Alex Reynolds Avatar asked Sep 19 '26 00:09

Alex Reynolds


1 Answers

No, Redis works as a process, not as a library. There is no way currently of doing so. You can use alternatives like Kyoto Cabinet (which is more redis-like).

Kyoto has hash tables support for C and Python.

Alternatively you can use SQLite but it's quite different than what you asked.

like image 52
seppo0010 Avatar answered Sep 20 '26 15:09

seppo0010



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!