Giter Site home page Giter Site logo

vire's Introduction

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

vire's People

Contributors

charsyam avatar deep011 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vire's Issues

make出错了

大佬,我在make时出错了

$ git clone  https://github.com/vipshop/vire.git
$ cd vire
$ autoreconf -fvi
$ ./configure --enable-debug=full
$ make
make  all-recursive
make[1]: 进入目录“/tmp/vire”
Making all in dep
make[2]: 进入目录“/tmp/vire/dep”
Making all in jemalloc-4.2.0
make[3]: 进入目录“/tmp/vire/dep/jemalloc-4.2.0”
make[3]: *** 没有规则可以创建目标“all”。 停止。
make[3]: 离开目录“/tmp/vire/dep/jemalloc-4.2.0”
make[2]: *** [all-recursive] 错误 1
make[2]: 离开目录“/tmp/vire/dep”
make[1]: *** [all-recursive] 错误 1
make[1]: 离开目录“/tmp/vire”
make: *** [all] 错误 2
[root@aaa vire]# echo $?
2

我的gcc版本是

[root@aaa vire]# gcc -v
使用内建 specs。
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
目标:x86_64-redhat-linux
gcc 版本 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)

hi there

Any way to do it work with PUBSUB tech?

比redis还慢啊,白折腾了?

vire编译:
$ git clone https://github.com/vipshop/vire.git
$ cd vire
$ autoreconf -fvi
$ ./configure
$ make
启动:
src/vire -c conf/vire.conf -o log -T 50
测试:
src/redis-benchmark -p 7379 -t set,get -n 300000 -q
结果:
SET: 68981.38 requests per second
GET: 69028.99 requests per second

2.redis编译
切换到redis-3.2分支
make
启动:
./redis-server
测试:
src/redis-benchmark -p 6379 -t set,get -n 300000 -q
结果:
SET: 72957.20 requests per second
GET: 72992.70 requests per second

在三个机器上测试都是这样的结果,测试数据有改变,但是趋势就是vire始终比redis慢一些,无论给vire多少个cpu都不行。

是不是测试方法有问题?

Awesome!

Really nice project!

It will be shared in our next RedisWeekly!

In the mean time did you tried it against Redsmin? If so, it will be our pleasure to promote Vire as compatible with Redsmin :)

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.