| commit | ad4e288189555d2a06158d16345a41d63bd590f5 | [log] [tgz] |
|---|---|---|
| author | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | Thu Jun 03 15:24:25 2021 +0800 |
| committer | GitHub <noreply@github.com> | Thu Jun 03 15:24:25 2021 +0800 |
| tree | 0b96b218457a09e23ccb1dc3e66ce1d2d12f2417 | |
| parent | 6fac4d59bda7fff8a80f4f6c4f599ed075b7c69f [diff] |
Support the auto-resize-block-and-sst config directive (backport #289) (#295) * Support the auto-resize-block-and-sst config directive (#289) Also fix log wrong old write_buffer_size in dynamic resize rocksdb.write_buffer_size (cherry picked from commit 0790616f3e418f40788c55d6b26ab6fd47dec908)
kvrocks is an open-source key-value database. which is based on rocksdb and compatible with Redis protocol. Intention to decrease the cost of memory and increase the capability while compared to Redis. The design of replication and storage was inspired by rocksplicator and blackwidow.
kvrocks has the following key features:
Thanks for @smartlee and the trip.com designer(@范世丽) contributes the kvrocks logo for us
Tickets a pull reqeust to let us known that you're using kvrocks and add your logo to README
NOTE: You should install the snappy first:
# Centos/Redhat sudo yum install -y epel-release && sudo yum install -y git gcc gcc-c++ make snappy snappy-devel autoconf automake libtool which gtest gtest-devel # Ubuntu sudo apt-get install gcc g++ make libsnappy-dev autoconf automake libtool which libgtest-dev # MACOSX brew install snappy googletest
It is as simple as:
$ git clone --recursive https://github.com/bitleak/kvrocks.git $ cd kvrocks $ make -j4
$ ./src/kvrocks -c kvrocks.conf
NOTE: You should install the googletest first
make test
$ docker run -it -p 6666:6666 bitleak/kvrocks $ redis-cli -p 6666 127.0.0.1:6666> get a (nil)
namespace was used to isolate data between users. unlike all the redis databases can be visited by requirepass, we use one token per namespace. requirepass was regraded as admin token, only admin token allows to access the namespace command, as well as some commands like config, slaveof, bgave, etc…
# add token 127.0.0.1:6666> namespace add ns1 mytoken OK # update token 127.0.0.1:6666> namespace set ns1 new_token OK # list namespace 127.0.0.1:6666> namespace get * 1) "ns1" 2) "new_token" 3) "__namespace" 4) "foobared" # delete namespace 127.0.0.1:6666> namespace del ns1 OK
kvrocks2redis in build dirBenchmark Client: multi-thread redis-benchmark(unstable branch)
kvorkcs: workers = 16, benchmark: 8 threads/ 512 conns / 128 payload
latency: 99.9% < 10ms

kvorkcs: workers = 16, benchmark: 8 threads/ 512 conns
latency: 99.9% < 10ms

kvorkcs: workers = 16, benchmark: 8 threads/ 512 conns / 128 payload
latency: 99.9% < 10ms

kvrocks is under the BSD-3-Clause license. See the LICENSE file for details.