Skip to content
A Distributed Redis Protocol Compatible NoSQL Database
Go Other
  1. Go 99.6%
  2. Other 0.4%
Branch: master
Clone or download
Latest commit 668ac9b Jan 17, 2020
Type Name Latest commit message Commit time
Failed to load latest commit information.
conf config: use mocktikv:// as the default pd address Jan 16, 2020
context Merge branch 'titan_sync' of int… Apr 30, 2019
docs-cn Rename project Nov 13, 2018
encoding feat(resp): use BytesArray instead of BytesArrayOnce Dec 26, 2019
metrics gomod: fix compiling errors Jan 6, 2020
proposals Merge pull request #155 from distributedio/rename-tikv Nov 26, 2019
server Use tmp files for tls testing Jun 10, 2019
tools Merge pull request #145 from zzstorage/master Dec 11, 2019
.gitignore update doc according we have already supported reverse operations Dec 24, 2019
.travis.yml travis: update go version Jan 7, 2020
Dockerfile update docker image builder version to support go mod Dec 30, 2019
LICENSE Create LICENSE Nov 14, 2018
Makefile Merge branch 'master' into master Sep 4, 2019 docs: refine the documentation Jan 16, 2020
codelingo.yaml Add codelingo.yaml file at project root. Feb 13, 2019
go.mod config: use mocktikv:// as the default pd address Jan 16, 2020


Build Status Go Report Card Coverage Status Coverage Status Discourse status

A distributed implementation of Redis compatible layer based on TiKV

Why Titan?

  • 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. The project is developed and open sourced by the Beijing Infrastructure Team at Meitu and has been donated to DistributedIO org.



Quick start

Can't wait to experiment Titan? Just follow 2 steps:

  1. curl -s -O
  2. docker-compose up

Then connect to titan use redis-cli

redis-cli -p 7369



SetUp TiKV cluster

Titan works with 2 tidb components:

  • TiKV
  • Pd

To setup TiKV and PD, please follow official instruction

Run Titan

  • Build the binary
go get
cd $GOPATH/src/
  • Edit the configration file
  • Run titan

For more details about Deploy Titan, click here.

Commands supporting status

See the details of the commands supporting status

command status
Connections Almost Fully Supported
Transactions Supported
Server Almost Fully Supported
Keys Supported
Strings Almost Fully Supported
List Almost Fully Supported
Hashes Supported
Sets Almost Fully Supported
Sorted Sets Almost Fully Supported
Geo Not Supported Yet
Hyperloglog Not Supported Yet
Pub/Sub Not Supported Yet
Scripting Not Supported Yet
Streams Not Supported Yet


Refer to the benchmark docs for more details. It is shared on Baidu Disks, use the code hzt6 to gain the permission.

Basic benchmarking result.


Get command benchmark


Set command benchmark

For more info, please vist here Titan Benchmarks




View our Roadmap

You can’t perform that action at this time.