rocksdb/utilities/redis
Maysam Yabandeh 8581a93a6b Per-thread unique test db names (#4135)
Summary:
The patch makes sure that two parallel test threads will operate on different db paths. This enables using open source tools such as gtest-parallel to run the tests of a file in parallel.
Example: ``` ~/gtest-parallel/gtest-parallel ./table_test```
Pull Request resolved: https://github.com/facebook/rocksdb/pull/4135

Differential Revision: D8846653

Pulled By: maysamyabandeh

fbshipit-source-id: 799bad1abb260e3d346bcb680d2ae207a852ba84
2018-07-13 17:27:39 -07:00
..
README Change namespace from leveldb to rocksdb 2013-10-04 11:59:26 -07:00
redis_list_exception.h rocksdb: Add missing override 2015-02-26 11:28:41 -08:00
redis_list_iterator.h Use nullptr instead of NULL / 0 more consistently. 2018-03-07 12:42:12 -08:00
redis_lists_test.cc Per-thread unique test db names (#4135) 2018-07-13 17:27:39 -07:00
redis_lists.cc Use nullptr instead of NULL / 0 more consistently. 2018-03-07 12:42:12 -08:00
redis_lists.h RocksDBLite 2014-04-15 13:39:26 -07:00

This folder defines a REDIS-style interface for Rocksdb.
Right now it is written as a simple tag-on in the rocksdb::RedisLists class.
It implements Redis Lists, and supports only the "non-blocking operations".

Internally, the set of lists are stored in a rocksdb database, mapping keys to
values. Each "value" is the list itself, storing a sequence of "elements".
Each element is stored as a 32-bit-integer, followed by a sequence of bytes.
The 32-bit-integer represents the length of the element (that is, the number
of bytes that follow). And then that many bytes follow.


NOTE: This README file may be old. See the actual redis_lists.cc file for
definitive details on the implementation. There should be a header at the top
of that file, explaining a bit of the implementation details.