A distributed implementation of Redis compatible layer based on TiKV
- 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.
Can't wait to experiment with Titan? Just follow 2 steps:
curl -s -O https://raw.githubusercontent.com/distributedio/titan/master/docker-compose.yml
docker-compose up
Then connect to Titan using redis-cli
redis-cli -p 7369
Enjoy!
Titan works with 2 TiDB components:
- TiKV
- PD
To setup TiKV and PD, please follow the official instructions
- Build the binary
go get github.com/distributedio/titan
cd $GOPATH/src/github.com/distributedio/titan
make
- Edit the configration file
pd-addrs="tikv://your-pd-addrs:port"
- Run Titan
./titan
For more details about Deploy Titan, click here.
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's shared on Baidu Disks, use the code hzt6
to gain the permission.
Basic benchmarking result.
For more info, please vist here Titan Benchmarks
View our Roadmap
- 20.4.21: add support for rpop and rpoplpush