Skip to content

Keva v0.1.0-alpha

Pre-release
Pre-release
Compare
Choose a tag to compare
@tuhuynh27 tuhuynh27 released this 11 Dec 02:41
· 48 commits to master since this release

First pre-release

Implemented Redis commands:

Server
  • INFO
  • FLUSHDB
  • TIME
Connection
  • AUTH
  • ECHO
  • PING
  • QUIT
  • CLIENT ID
  • CLIENT INFO
Key
  • DEL
  • EXISTS
  • RENAME
  • EXPIRE
  • EXPIREAT
  • DUMP
  • RESTORE
  • TYPE
String
  • APPEND
  • GET
  • INCRBY
  • INCR
  • SET
  • GETSET
  • MGET
  • STRLEN
  • SETRANGE
Hash
  • HGET
  • HGETALL
  • HKEYS
  • HVALS
  • HSET
  • HDEL
  • HEXISTS
  • HLEN
  • HSTRLEN
List
  • LPUSH
  • RPUSH
  • LPOP
  • RPOP
  • LLEN
  • LRANGE
  • LINDEX
  • LSET
  • LREM
Set
  • SADD
  • SMEMBERS
  • SISMEMBER
  • SCARD
  • SDIFF
  • SINTER
  • SUNION
  • SMOVE
  • SREM
Pub/Sub
  • SUBSCRIBE
  • UNSUBSCRIBE
  • PUBLISH
Transactions
  • MULTI
  • EXEC
  • DISCARD
  • WATCH

Persistence modes:

  • KDB (Keva Database): KDB persistence performs point-in-time snapshotting of the state of the system. This means that the state of the system is stored in a database, and the database is periodically backed up.
  • AOF (Append-Only File): The AOF persistence logs every write operation to a file, that will be played again at server startup, reconstructing the original dataset.

KDB is the default persistence mechanism and is the recommended persistence. Use AOF if you need the database more durable, it tradeoffs performance for durability.

Security

Basic Redis Authentication mode (using AUTH command)

Replication

None (working in progress and not available yet)

Benchmark

Because we're in the early development stage, a more detailed test will be provided later (when Keva is more mature and stable)

Redis 6.2.6:

$ redis-benchmark -t set,get -h localhost -p 6379 -n 1000000 -q
SET: 66128.82 requests per second, p50=0.351 msec
GET: 68662.45 requests per second, p50=0.367 msec

Keva:

$ redis-benchmark -t set,get -h localhost -p 6767 -n 1000000 -q
SET: 65312.52 requests per second, p50=0.391 msec
GET: 65703.02 requests per second, p50=0.391 msec

Machine:

Macbook Pro 16-inch 2019 (macOS Big Sur)
Intel i7-9750H (12) @ 2.60GHz, 16GB memory

More details on Keva homepage

Thanks @axblueblader @duongcongtoai @haphananhtuan @yampml for the contributions