QKV是基于TiKV打造的一款兼容redis协议的分布式NoSql数据库,支持string、set、zset、list、hash数据类型操作,使用Go语言编写,具有高可用、高性能、高扩展性。
- 兼容redis协议
- 采用TiKV,支持分布式事务
- 大数据量,支持水平扩展
- 高性能,在较高QPS的同时能够保证比较低的延时
- 高可靠,数据持久化存储,采用raft协议实现一致性,防止数据丢失
- 高可用,集群内部分节点失效不影响集群使用
- 易运维,可以在不停机的情况下进行数据迁移与集群扩容
- QKV只做协议转发与数据计算操作,TiKV做存储
PD以及TiKV部署参考如下(这里我们只需用到PD和TiKV):
QKV(生成二进制文件):
- go get -u github.com/chuangyou/qkv
- go build -i
相关文档(主要是PD和TiKV扩容、缩容):
- DEL
- TTL
- PTTL
- EXPIRE
- PEXPIRE
- EXPIREAT
- PEXPIREAT
- GET
- SET
- MGET
- MSET
- SETEX
- INCR
- INCRBY
- DECR
- DECRBY
- STRLEN
- SADD
- SCARD
- SDIFF
- SDIFFSTORE
- SINTER
- SINTERSTORE
- SISMEMBER
- SMEMBERS
- SREM
- SUNION
- ZADD
- ZCARD
- ZCOUNT
- ZINCRBY
- ZLEXCOUNT
- ZRANGE
- ZRANGEBYLEX
- ZRANGEBYSCORE
- ZREM
- ZREMRANGEBYLEX
- ZREMRANGEBYSCORE
- ZREVRANGE
- ZREVRANGEBYLEX
- ZREVRANGEBYSCORE
- ZSCORE
- HDEL
- HEXISTS
- HGET
- HGETALL
- HINCRBY
- HKEYS
- HLEN
- HMGET
- HMSET
- HSET
- HSETNX
- HSTRLEN
- HVALS
- LINDEX
- LLEN
- LPOP
- LPUSH
- LRANGE
- LSET
- LTRIM
- RPOP
- RPUSH