Multithread redis
C Other
Latest commit d196c0a Oct 25, 2016 @deep011 deep011 update ChangeLog
Permalink
Failed to load latest commit information.
conf add commands-need-adminpass config option. Jul 20, 2016
dep fix the compile error Oct 23, 2016
m4 add vire May 26, 2016
notes add vire May 26, 2016
scripts add vire May 26, 2016
src add 'PFADD/PFCOUNT simple test' Oct 25, 2016
tests add 'PFADD/PFCOUNT simple test' Oct 25, 2016
tools add vire May 26, 2016
.gitignore update jemalloc to version 4.2.0 May 27, 2016
ChangeLog update ChangeLog Oct 25, 2016
LICENSE add vire May 26, 2016
Makefile.am add test code Jul 28, 2016
NOTICE add vire May 26, 2016
README.md support command: pfcount Oct 25, 2016
configure.ac change version to 1.0.0 Oct 25, 2016

README.md

vire

vire (pronounced "vip-redis") is a multithread redis(based on redis-3.2.0) maintains in vipshop.

QQ交流群:276406429

Dependence

Please install automake, libtool, autoconf and bzip2 at first.

Build

To build vire from source with debug logs enabled and assertions enabled:

$ git clone  https://github.com/vipshop/vire.git
$ cd vire
$ autoreconf -fvi
$ ./configure --enable-debug=full
$ make
$ src/vire -h

A quick checklist:

  • Use newer version of gcc (older version of gcc has problems)
  • Use CFLAGS="-O1" ./configure && make
  • Use CFLAGS="-O3 -fno-strict-aliasing" ./configure && make
  • autoreconf -fvi && ./configure needs automake and libtool to be installed

Run

$ src/vire -c conf/vire.conf -o log -T 6 -d

Features

  • Multithread.
  • Fast.
  • Works with Linux, *BSD, OS X and SmartOS (Solaris)

Help

Usage: vire [-?hVdt] [-v verbosity level] [-o output file]
            [-c conf file] [-p pid file]
            [-T worker threads number]

Options:
-h, --help             : this help
-V, --version          : show version and exit
-t, --test-conf        : test configuration for syntax errors and exit
-d, --daemonize        : run as a daemon
-v, --verbose=N        : set logging level (default: 5, min: 0, max: 11)
-o, --output=S         : set logging file (default: stderr)
-c, --conf-file=S      : set configuration file (default: conf/vire.conf)
-p, --pid-file=S       : set pid file (default: off)
-T, --thread_num=N     : set the worker threads number (default: 6)

Support redis command so far

Connection

  • ping
  • quit
  • echo
  • select
  • auth
  • admin

Server

  • info
  • flushall
  • flushdb
  • time
  • dbsize
  • command
  • config
  • client
  • slowlog

Key

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

String

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

Hash

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

List

  • rpush
  • lpush
  • lrange
  • rpop
  • lpop
  • llen
  • lrem
  • ltrim
  • lindex
  • lset

Set

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

SortedSet

  • zadd
  • zincrby
  • zrange
  • zrevrange
  • zrem
  • zcard
  • zcount
  • zrangebyscore
  • zrevrangebyscore
  • zrank
  • zrevrank
  • zscore
  • zremrangebyscore
  • zremrangebyrank
  • zremrangebylex
  • zscan

HyperLogLog

  • pfadd
  • pfcount

License

Copyright © 2016 VIPSHOP Inc.

Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0