Giter Site home page Giter Site logo

titan-1's Introduction

Titan

Build Status Go Report Card Coverage Status Coverage Status Discourse status

A distributed implementation of Redis compatible layer based on TiKV

Status

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.

Features

  • 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

Roadmap

Roadmap

Can't wait to experiment Titan?

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!

Installing

Deploy Titan

Benchmarks

Titan Benchmarks

FAQ

FAQ

Commands

Connections

  • auth
  • echo
  • ping
  • quit
  • select
  • swapdb, not supported

Transactions

  • multi
  • exec
  • discard
  • watch
  • unwatch

Server

  • 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

Keys

  • del
  • type
  • exists
  • expire
  • expireat
  • object
  • pexpire
  • pexpireat
  • ttl
  • pttl
  • randomkey
  • touch
  • keys
  • scan
  • unlink

Strings

  • get
  • set
  • mget
  • mset
  • strlen
  • incr
  • incrby
  • decr
  • decrby
  • append
  • bitcount
  • bitfield
  • bitop
  • bitpos
  • getbit
  • getrange
  • getset
  • incrbyfloat
  • msetnx
  • psetex
  • setbit
  • setex
  • setnx
  • setrange

List

  • lrange
  • linsert
  • lindex
  • llen
  • lset
  • lpush
  • lpop
  • lpushx
  • ltrim
  • lrem
  • rpop
  • rpoplpush
  • rpush
  • rpushhx
  • blpop
  • brpop
  • brpoplpush

Hashes

  • hset
  • hget
  • hgetall
  • hdel
  • hexists
  • hincrby
  • hincrbyfloat
  • hkeys
  • hlen
  • hmget
  • hmset
  • hscan
  • hsetnx
  • hstrlen
  • hvals

Sets

  • sadd
  • scard
  • sdiff
  • sdiffstore
  • sinter
  • sinterstore
  • sismember
  • smembers
  • smove
  • spop
  • srandmember
  • srem
  • sunion
  • sunionstore
  • sscan

Sorted Sets

  • 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

Geo

  • geoadd
  • geohash
  • geopos
  • geodist
  • georadius
  • georadiusbymember

hyperloglog

  • pfadd
  • pfcount
  • pfmerge

Pub/Sub

  • psubscribe
  • pubsub
  • publish
  • punsubscribe
  • subscribe
  • unsubscribe

Scripting

  • eval
  • evalsha
  • script debug
  • script exists
  • script flush
  • script kill
  • script load

Streams

  • xadd
  • xrange
  • xrevrange
  • xlen
  • xread
  • xreadgroup
  • xpending

titan-1's People

Contributors

yidwang avatar shafreeck avatar gengxinmt avatar arthurkiller avatar jl2005 avatar zyy17 avatar nioshield avatar shikui avatar codelingobot avatar yangmls avatar nightmeng avatar yanghongkjxy avatar

Watchers

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