A distributed implementation of Redis compatible layer based on TiKV
Active development, not ready for production. We welcome any form of contributions!
Our goal is to build a solid NoSQL database aiming to run in the production environment. We are using Titan in production inside Meitu now. If you cannot wait to experiment it in the production environment, feel free to contact us for technical supporting.
- Completely compatible with redis protocol
- Full distributed transaction with strong consistency
- Multi-tenancy support
- No painful scale out
- High availability
Thanks TiKV for supporting the core features
curl -s -O https://raw.githubusercontent.com/meitu/titan/master/docker-compose.yml
docker-compose up
# Then connect to titan use redis-cli
redis-cli -p 7369
# Enjoy!
- auth
- echo
- ping
- quit
- select
- swapdb, not supported
- multi
- exec
- discard
- watch
- unwatch
- client list
- client kill
- client pause
- client reply
- client getname
- client setname
- monitor
- debug object
- flushdb
- flushall
- time
- command
- command count
- command getkeys
- command info
- info
- slowlog
- del
- type
- exists
- expire
- expireat
- object
- pexpire
- pexpireat
- ttl
- pttl
- randomkey
- touch
- keys
- scan
- unlink
- get
- set
- mget
- mset
- strlen
- incr
- incrby
- decr
- decrby
- append
- bitcount
- bitfield
- bitop
- bitpos
- getbit
- getrange
- getset
- incrbyfloat
- msetnx
- psetex
- setbit
- setex
- setnx
- setrange
- lrange
- linsert
- lindex
- llen
- lset
- lpush
- lpop
- lpushx
- ltrim
- lrem
- rpop
- rpoplpush
- rpush
- rpushhx
- blpop
- brpop
- brpoplpush
- hset
- hget
- hgetall
- hdel
- hexists
- hincrby
- hincrbyfloat
- hkeys
- hlen
- hmget
- hmset
- hscan
- hsetnx
- hstrlen
- hvals
- sadd
- scard
- sdiff
- sdiffstore
- sinter
- sinterstore
- sismember
- smembers
- smove
- spop
- srandmember
- srem
- sunion
- sunionstore
- sscan
- bzpopmin
- bzpopmax
- zadd
- zcard
- zcount
- zincrby
- zinterstore
- zlexcount
- zpopmax
- zpopmin
- zrange
- zrangebylex
- zrevrangebylex
- zrangebyscore
- zrank
- zrem
- zremrangebylex
- zremrangebyrank
- zremrangebyscore
- zrevrange
- zrevrangebyscore
- zrevrank
- zscore
- zunionstore
- zscan
- geoadd
- geohash
- geopos
- geodist
- georadius
- georadiusbymember
- pfadd
- pfcount
- pfmerge
- psubscribe
- pubsub
- publish
- punsubscribe
- subscribe
- unsubscribe
- eval
- evalsha
- script debug
- script exists
- script flush
- script kill
- script load
- xadd
- xrange
- xrevrange
- xlen
- xread
- xreadgroup
- xpending