Git Product home page Git Product logo

titan's Introduction

Titan

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.

Architecture

titan

Quick start

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

  1. curl -s -O https://raw.githubusercontent.com/distributedio/titan/master/docker-compose.yml
  2. docker-compose up

Then connect to Titan using redis-cli

redis-cli -p 7369

Enjoy!

Installation

SetUp TiKV cluster

Titan works with 2 TiDB components:

  • TiKV
  • PD

To setup TiKV and PD, please follow the official instructions

Run Titan

  • 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.

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

Benchmarks

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.

Get

Get command benchmark

Set

Set command benchmark

For more info, please vist here Titan Benchmarks

FAQ

FAQ

Roadmap

View our Roadmap

Release Note

  • 20.4.21: add support for rpop and rpoplpush

titan's People

Contributors

arthurkiller avatar b41sh avatar codelingobot avatar donbowman avatar gengxinmt avatar gotoxu avatar jl2005 avatar jomenxiao avatar lgsdream avatar nightmeng avatar nioshield avatar piaoairy219 avatar shafreeck avatar shikui avatar tcyrus avatar timvaillancourt avatar yangmls avatar yidwang avatar zyy17 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.