Redis【第一篇】安装
cd src && make allmake[
1]: Entering directory `/root/redisA/src'
rm -rf redis-server redis-sentinel redis-cli redis-benchmark redis-check-rdb redis-check-aof *.o *.gcda *.gcno *.gcov redis.info lcov-html
(cd ..
/deps && make distclean)
make[
2]: Entering directory `/root/redisA/deps'
(cd hiredis && make clean) > /dev/null || true
(cd linenoise
&& make clean) > /dev/null || true
(cd lua
&& make clean) > /dev/null || true
(cd geohash
-int && make clean) > /dev/null || true
(cd jemalloc
&& [ -f Makefile ] && make distclean) > /dev/null || true
(rm
-f .make-*)
make[
2]: Leaving directory `/root/redisA/deps'
(rm -f .make-*)
echo STD
=-std=c99 -pedantic -DREDIS_STATIC='' >> .make-settings
echo WARN
=-Wall -W >> .make-settings
echo OPT
=-O2 >> .make-settings
echo MALLOC
=jemalloc >> .make-settings
echo CFLAGS
= >> .make-settings
echo LDFLAGS
= >> .make-settings
echo REDIS_CFLAGS
= >> .make-settings
echo REDIS_LDFLAGS
= >> .make-settings
echo PREV_FINAL_CFLAGS
=-std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -O2 -g -ggdb -I../deps/geohash-int -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include >> .make-settings
echo PREV_FINAL_LDFLAGS
=-g -ggdb -rdynamic >> .make-settings
(cd ..
/deps && make hiredis linenoise lua geohash-int jemalloc)
make[
2]: Entering directory `/root/redisA/deps'
(cd hiredis && make clean) > /dev/null || true
(cd linenoise
&& make clean) > /dev/null || true
(cd lua
&& make clean) > /dev/null || true
(cd geohash
-int && make clean) > /dev/null || true
(cd jemalloc
&& [ -f Makefile ] && make distclean) > /dev/null || true
(rm
-f .make-*)
(echo
"" > .make-cflags)
(echo
"" > .make-ldflags)
MAKE hiredis
cd hiredis
&& make static
make[
3]: Entering directory `/root/redisA/deps/hiredis'
cc -std=c99 -pedantic -c -O3 -fPIC-Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdbnet.c
cc
-std=c99 -pedantic -c -O3 -fPIC-Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdbhiredis.c
cc
-std=c99 -pedantic -c -O3 -fPIC-Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdbsds.c
cc
-std=c99 -pedantic -c -O3 -fPIC-Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdbasync.c
ar rcs libhiredis.a net.o hiredis.o sds.o
async.o
make[
3]: Leaving directory `/root/redisA/deps/hiredis'
MAKE linenoise
cd linenoise
&& make
make[
3]: Entering directory `/root/redisA/deps/linenoise'
cc-Wall -Os -g-c linenoise.c
make[
3]: Leaving directory `/root/redisA/deps/linenoise'
MAKE lua
cd lua
/src && make all CFLAGS="-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' " MYLDFLAGS="" AR="ar rcu"
make[
3]: Entering directory `/root/redisA/deps/lua/src'
cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lapi.o lapi.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lcode.o lcode.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o ldebug.o ldebug.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o ldo.o ldo.c
ldo.c: In function ‘f_parser’:
ldo.c:
496:7: warning: unused variable ‘c’ [-Wunused-variable]int c = luaZ_lookahead(p->z);^
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o ldump.o ldump.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lfunc.o lfunc.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lgc.o lgc.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o llex.o llex.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lmem.o lmem.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lobject.o lobject.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lopcodes.o lopcodes.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lparser.o lparser.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lstate.o lstate.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lstring.o lstring.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o ltable.o ltable.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o ltm.o ltm.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lundump.o lundump.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lvm.o lvm.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lzio.o lzio.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o strbuf.o strbuf.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o fpconv.o fpconv.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lauxlib.o lauxlib.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lbaselib.o lbaselib.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o ldblib.o ldblib.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o liolib.o liolib.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lmathlib.o lmathlib.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o loslib.o loslib.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o ltablib.o ltablib.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lstrlib.o lstrlib.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o loadlib.o loadlib.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o linit.o linit.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lua_cjson.o lua_cjson.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lua_struct.o lua_struct.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lua_cmsgpack.o lua_cmsgpack.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lua_bit.o lua_bit.c
ar rcu liblua.a lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o strbuf.o fpconv.o lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o loslib.o ltablib.o lstrlib.o loadlib.o linit.o lua_cjson.o lua_struct.o lua_cmsgpack.o lua_bit.o # DLL needs all
object files
ranlib liblua.a
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lua.o lua.c
cc
-o lualua.o liblua.a -lm
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o luac.o luac.c
cc
-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o print.o print.c
cc
-o luacluac.o print.o liblua.a -lm
make[
3]: Leaving directory `/root/redisA/deps/lua/src'
MAKE geohash-int
cd geohash
-int && make
make[
3]: Entering directory `/root/redisA/deps/geohash-int'
cc-Wall -O2 -g-c geohash.c
cc
-Wall -O2 -g-c geohash_helper.c
make[
3]: Leaving directory `/root/redisA/deps/geohash-int'
MAKE jemalloc
cd jemalloc
&& ./configure --with-lg-quantum=3 --with-jemalloc-prefix=je_ --enable-cc-silence CFLAGS="-std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops " LDFLAGS=""
checking
for xsltproc... /usr/bin/xsltproc
checking
for gcc... gcc
checking whether the C compiler works... yes
checking
for C compiler default output file name... a.out
checking
for suffix of executables...
checking whether we are cross compiling... no
checking
for suffix of object files... o
checking whether we are
using the GNU C compiler... yes
checking whether gcc accepts
-g... yes
checking
for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc
-E
checking
for grep that handles long lines and -e... /usr/bin/grep
checking
for egrep... /usr/bin/grep -E
checking
for ANSI C header files... yes
checking
for sys/types.h... yes
checking
for sys/stat.h... yes
checking
for stdlib.h... yes
checking
for string.h... yes
checking
for memory.h... yes
checking
for strings.h... yes
checking
for inttypes.h... yes
checking
for stdint.h... yes
checking
for unistd.h... yes
checking whether
byte ordering is bigendian... no
checking>void *... 8
checking>int... 4
checking>long... 8
checking>8
checking build system type... x86_64
-unknown-linux-gnu
checking host system type... x86_64
-unknown-linux-gnu
checking whether pause instruction
is compilable... yes
checking
for ar... ar
checking malloc.h usability... yes
checking malloc.h presence... yes
checking
for malloc.h... yes
checking whether malloc_usable_size definition can use
const argument... no
checking whether __attribute__ syntax
is compilable... yes
checking whether compiler supports
-fvisibility=hidden... yes
checking whether compiler supports
-Werror... yes
checking whether tls_model attribute
is compilable... yes
checking whether compiler supports
-Werror... yes
checking whether alloc_size attribute
is compilable... yes
checking whether compiler supports
-Werror... yes
checking whether format(gnu_printf, ...) attribute
is compilable... yes
checking whether compiler supports
-Werror... yes
checking whether format(printf, ...) attribute
is compilable... yes
checking
for a BSD-compatible install... /usr/bin/install -c
checking
for ranlib... ranlib
checking
for ld... /usr/bin/ld
checking
for autoconf... false
checking
for memalign... yes
checking
for valloc... yes
checking configured backtracing method... N
/A
checking
for sbrk... yes
checking whether utrace(
2) is compilable... no
checking whether valgrind
is compilable... no
checking whether a program
using __builtin_ffsl is compilable... yes
checking LG_PAGE...
12
checking pthread.h usability... yes
checking pthread.h presence... yes
checking
for pthread.h... yes
checking
for pthread_create in -lpthread... yes
checking
for library containing clock_gettime... none required
checking
for secure_getenv... yes
checking
for issetugid... no
checking
for _malloc_thread_cleanup... no
checking
for _pthread_mutex_init_calloc_cb... no
checking
for TLS... yes
checking whether C11 atomics
is compilable... no
checking whether atomic(
9) is compilable... no
checking whether Darwin OSAtomic
*() is compilable... no
checking whether madvise(
2) is compilable... yes
checking whether to force
32-bit __sync_{add,sub}_and_fetch()... no
checking whether to force
64-bit __sync_{add,sub}_and_fetch()... no
checking
for __builtin_clz... yes
checking whether Darwin OSSpin
*() is compilable... no
checking whether glibc malloc hook
is compilable... yes
checking whether glibc memalign hook
is compilable... yes
checking whether pthreads adaptive mutexes
is compilable... yes
checking
for stdbool.h that conforms to C99... yes
checking
for _Bool... yes
configure: creating .
/config.status
config.status: creating Makefile
config.status: creating jemalloc.pc
config.status: creating doc
/html.xsl
config.status: creating doc
/manpages.xsl
config.status: creating doc
/jemalloc.xml
config.status: creating include
/jemalloc/jemalloc_macros.h
config.status: creating include
/jemalloc/jemalloc_protos.h
config.status: creating include
/jemalloc/jemalloc_typedefs.h
config.status: creating include
/jemalloc/internal/jemalloc_internal.h
config.status: creating test
/test.sh
config.status: creating test
/include/test/jemalloc_test.h
config.status: creating config.stamp
config.status: creating bin
/jemalloc-config
config.status: creating bin
/jemalloc.sh
config.status: creating bin
/jeprof
config.status: creating include
/jemalloc/jemalloc_defs.h
config.status: creating include
/jemalloc/internal/jemalloc_internal_defs.h
config.status: creating test
/include/test/jemalloc_test_defs.h
config.status: executing include
/jemalloc/internal/private_namespace.h commands
config.status: executing include
/jemalloc/internal/private_unnamespace.h commands
config.status: executing include
/jemalloc/internal/public_symbols.txt commands
config.status: executing include
/jemalloc/internal/public_namespace.h commands
config.status: executing include
/jemalloc/internal/public_unnamespace.h commands
config.status: executing include
/jemalloc/internal/size_classes.h commands
config.status: executing include
/jemalloc/jemalloc_protos_jet.h commands
config.status: executing include
/jemalloc/jemalloc_rename.h commands
config.status: executing include
/jemalloc/jemalloc_mangle.h commands
config.status: executing include
/jemalloc/jemalloc_mangle_jet.h commands
config.status: executing include
/jemalloc/jemalloc.h commands
===============================================================================
jemalloc version :
4.0.3-0-ge9192eacf8935e29fc62fddc2701f7942b1cc02c
library revision :
2
CONFIG :
--with-lg-quantum=3 --with-jemalloc-prefix=je_ --enable-cc-silence 'CFLAGS=-std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops ' LDFLAGS=
CC : gcc
CFLAGS :
-std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops-fvisibility=hidden
CPPFLAGS :
-D_GNU_SOURCE -D_REENTRANT
LDFLAGS :
EXTRA_LDFLAGS :
LIBS :
-lpthread
TESTLIBS :
RPATH_EXTRA :
XSLTPROC :
/usr/bin/xsltproc
XSLROOT :
PREFIX :
/usr/local
BINDIR :
/usr/local/bin
DATADIR :
/usr/local/share
INCLUDEDIR :
/usr/local/include
LIBDIR :
/usr/local/lib
MANDIR :
/usr/local/share/man
srcroot :
abs_srcroot :
/root/redisA/deps/jemalloc/
objroot :
abs_objroot :
/root/redisA/deps/jemalloc/
JEMALLOC_PREFIX : je_
JEMALLOC_PRIVATE_NAMESPACE
: je_
install_suffix :
autogen :
0
cc
-silence : 1
debug :
0
code
-coverage : 0
stats :
1
prof :
0
prof
-libunwind : 0
prof
-libgcc : 0
prof
-gcc : 0
tcache :
1
fill :
1
utrace :
0
valgrind :
0
xmalloc :
0
munmap :
0
lazy_lock :
0
tls :
1
cache
-oblivious : 1
===============================================================================
cd jemalloc && make CFLAGS="-std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops " LDFLAGS="" lib/libjemalloc.a
make: Entering directory `/root/redisA/deps/jemalloc'
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops-c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/jemalloc.o src/jemalloc.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops-c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/arena.o src/arena.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops-c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/atomic.o src/atomic.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops-c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/base.o src/base.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops-c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/bitmap.o src/bitmap.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops-c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/chunk.o src/chunk.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops-c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/chunk_dss.o src/chunk_dss.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops-c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/chunk_mmap.o src/chunk_mmap.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops-c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/ckh.o src/ckh.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops-c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/ctl.o src/ctl.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops-c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/extent.o src/extent.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops-c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/hash.o src/hash.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops-c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/huge.o src/huge.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops-c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/mb.o src/mb.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops-c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/mutex.o src/mutex.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops-c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/pages.o src/pages.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops-c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/prof.o src/prof.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops-c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/quarantine.o src/quarantine.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops-c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/rtree.o src/rtree.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops-c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/stats.o src/stats.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops-c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/tcache.o src/tcache.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops-c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/util.o src/util.c
gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops-c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/tsd.o src/tsd.c
ar crus lib/libjemalloc.a src/jemalloc.o src/arena.o src/atomic.o src/base.o src/bitmap.o src/chunk.o src/chunk_dss.o src/chunk_mmap.o src/ckh.o src/ctl.o src/extent.o src/hash.o src/huge.o src/mb.o src/mutex.o src/pages.o src/prof.o src/quarantine.o src/rtree.o src/stats.o src/tcache.o src/util.o src/tsd.o
make: Leaving directory `/root/redisA/deps/jemalloc'
make: Leaving directory `/root/redisA/deps'
CC adlist.o
CC quicklist.o
CC ae.o
CC anet.o
CC dict.o
CC server.o
CC sds.o
CC zmalloc.o
CC lzf_c.o
CC lzf_d.o
CC pqsort.o
CC zipmap.o
CC sha1.o
CC ziplist.o
CC> CC networking.o
CC util.o
CC object.o
CC db.o
CC replication.o
CC rdb.o
CC t_string.o
CC t_list.o
CC t_set.o
CC t_zset.o
CC t_hash.o
CC config.o
CC aof.o
CC pubsub.o
CC multi.o
CC debug.o
CC sort.o
CC intset.o
CC syncio.o
CC cluster.o
CC crc16.o
CC endianconv.o
CC slowlog.o
CC scripting.o
CC bio.o
CC rio.o
CC rand.o
CC memtest.o
CC crc64.o
CC bitops.o
CC sentinel.o
CC notify.o
CC setproctitle.o
CC blocked.o
CC hyperloglog.o
CC latency.o
CC sparkline.o
CC redis-check-rdb.o
CC geo.o
LINK redis-server
INSTALL redis-sentinel
CC redis-cli.o
LINK redis-cli
CC redis-benchmark.o
LINK redis-benchmark
INSTALL redis-check-rdb
CC redis-check-aof.o
LINK redis-check-aof
Hint: It's a good>
make: Leaving directory `/root/redisA/src'
页:
[1]