首页 > 代码库 > Redis【第一篇】安装

Redis【第一篇】安装

第一步:准备

1. 操作系统

CentOS-7-x86_64-Everything-1511

2. redis 版本

redis-3.2.8

3. 修改内核参数

有三种方式:

1)编辑/etc/sysctl.conf ,改vm.overcommit_memory=1,然后sysctl -p 使配置文件生效

2)sysctl vm.overcommit_memory=1

3)echo 1 > /proc/sys/vm/overcommit_memory

附:内核参数 overcommit_memory 

内核参数 overcommit_memory 是 内存分配策略

可选值:0、1、2。

  • 0:表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程
  • 1:表示内核允许分配所有的物理内存,而不管当前的内存状态如何
  • 2:表示内核允许分配超过所有物理内存和交换空间总和的内存

第二步:安装

以 redisA 为例:

1. 解压:

# tar zxvf redis-3.2.8.tar.gz

2. 改目录名称:

# mv redis-3.2.8 redisA

3. make:

# cd redisA# make PREFIX=/root/redisA

附:make 信息

cd src && make allmake[1]: Entering directory `/root/redisA/srcrm -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-settingsecho WARN=-Wall -W >> .make-settingsecho OPT=-O2 >> .make-settingsecho MALLOC=jemalloc >> .make-settingsecho CFLAGS= >> .make-settingsecho LDFLAGS= >> .make-settingsecho REDIS_CFLAGS= >> .make-settingsecho REDIS_LDFLAGS= >> .make-settingsecho 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-settingsecho 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 hirediscd hiredis && make staticmake[3]: Entering directory `/root/redisA/deps/hirediscc -std=c99 -pedantic -c -O3 -fPIC  -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb  net.ccc -std=c99 -pedantic -c -O3 -fPIC  -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb  hiredis.ccc -std=c99 -pedantic -c -O3 -fPIC  -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb  sds.ccc -std=c99 -pedantic -c -O3 -fPIC  -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb  async.car rcs libhiredis.a net.o hiredis.o sds.o async.omake[3]: Leaving directory `/root/redisA/deps/hiredisMAKE linenoisecd linenoise && makemake[3]: Entering directory `/root/redisA/deps/linenoisecc  -Wall -Os -g  -c linenoise.cmake[3]: Leaving directory `/root/redisA/deps/linenoiseMAKE luacd 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/srccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o lapi.o lapi.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o lcode.o lcode.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o ldebug.o ldebug.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o ldo.o ldo.cldo.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.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o lfunc.o lfunc.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o lgc.o lgc.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o llex.o llex.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o lmem.o lmem.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o lobject.o lobject.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o lopcodes.o lopcodes.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o lparser.o lparser.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o lstate.o lstate.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o lstring.o lstring.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o ltable.o ltable.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o ltm.o ltm.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o lundump.o lundump.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o lvm.o lvm.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o lzio.o lzio.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o strbuf.o strbuf.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o fpconv.o fpconv.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o lauxlib.o lauxlib.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o lbaselib.o lbaselib.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o ldblib.o ldblib.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o liolib.o liolib.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o lmathlib.o lmathlib.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o loslib.o loslib.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o ltablib.o ltablib.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o lstrlib.o lstrlib.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o loadlib.o loadlib.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o linit.o linit.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o lua_cjson.o lua_cjson.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o lua_struct.o lua_struct.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o lua_cmsgpack.o lua_cmsgpack.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o lua_bit.o lua_bit.car 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 filesranlib liblua.acc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o lua.o lua.ccc -o lua  lua.o liblua.a -lm cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o luac.o luac.ccc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=‘‘    -c -o print.o print.ccc -o luac  luac.o print.o liblua.a -lm make[3]: Leaving directory `/root/redisA/deps/lua/srcMAKE geohash-intcd geohash-int && makemake[3]: Entering directory `/root/redisA/deps/geohash-intcc  -Wall -O2 -g  -c geohash.ccc  -Wall -O2 -g  -c geohash_helper.cmake[3]: Leaving directory `/root/redisA/deps/geohash-intMAKE jemalloccd 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/xsltprocchecking for gcc... gccchecking whether the C compiler works... yeschecking for C compiler default output file name... a.outchecking for suffix of executables... checking whether we are cross compiling... nochecking for suffix of object files... ochecking whether we are using the GNU C compiler... yeschecking whether gcc accepts -g... yeschecking for gcc option to accept ISO C89... none neededchecking how to run the C preprocessor... gcc -Echecking for grep that handles long lines and -e... /usr/bin/grepchecking for egrep... /usr/bin/grep -Echecking for ANSI C header files... yeschecking for sys/types.h... yeschecking for sys/stat.h... yeschecking for stdlib.h... yeschecking for string.h... yeschecking for memory.h... yeschecking for strings.h... yeschecking for inttypes.h... yeschecking for stdint.h... yeschecking for unistd.h... yeschecking whether byte ordering is bigendian... nochecking size of void *... 8checking size of int... 4checking size of long... 8checking size of intmax_t... 8checking build system type... x86_64-unknown-linux-gnuchecking host system type... x86_64-unknown-linux-gnuchecking whether pause instruction is compilable... yeschecking for ar... archecking malloc.h usability... yeschecking malloc.h presence... yeschecking for malloc.h... yeschecking whether malloc_usable_size definition can use const argument... nochecking whether __attribute__ syntax is compilable... yeschecking whether compiler supports -fvisibility=hidden... yeschecking whether compiler supports -Werror... yeschecking whether tls_model attribute is compilable... yeschecking whether compiler supports -Werror... yeschecking whether alloc_size attribute is compilable... yeschecking whether compiler supports -Werror... yeschecking whether format(gnu_printf, ...) attribute is compilable... yeschecking whether compiler supports -Werror... yeschecking whether format(printf, ...) attribute is compilable... yeschecking for a BSD-compatible install... /usr/bin/install -cchecking for ranlib... ranlibchecking for ld... /usr/bin/ldchecking for autoconf... falsechecking for memalign... yeschecking for valloc... yeschecking configured backtracing method... N/Achecking for sbrk... yeschecking whether utrace(2) is compilable... nochecking whether valgrind is compilable... nochecking whether a program using __builtin_ffsl is compilable... yeschecking LG_PAGE... 12checking pthread.h usability... yeschecking pthread.h presence... yeschecking for pthread.h... yeschecking for pthread_create in -lpthread... yeschecking for library containing clock_gettime... none requiredchecking for secure_getenv... yeschecking for issetugid... nochecking for _malloc_thread_cleanup... nochecking for _pthread_mutex_init_calloc_cb... nochecking for TLS... yeschecking whether C11 atomics is compilable... nochecking whether atomic(9) is compilable... nochecking whether Darwin OSAtomic*() is compilable... nochecking whether madvise(2) is compilable... yeschecking whether to force 32-bit __sync_{add,sub}_and_fetch()... nochecking whether to force 64-bit __sync_{add,sub}_and_fetch()... nochecking for __builtin_clz... yeschecking whether Darwin OSSpin*() is compilable... nochecking whether glibc malloc hook is compilable... yeschecking whether glibc memalign hook is compilable... yeschecking whether pthreads adaptive mutexes is compilable... yeschecking for stdbool.h that conforms to C99... yeschecking for _Bool... yesconfigure: creating ./config.statusconfig.status: creating Makefileconfig.status: creating jemalloc.pcconfig.status: creating doc/html.xslconfig.status: creating doc/manpages.xslconfig.status: creating doc/jemalloc.xmlconfig.status: creating include/jemalloc/jemalloc_macros.hconfig.status: creating include/jemalloc/jemalloc_protos.hconfig.status: creating include/jemalloc/jemalloc_typedefs.hconfig.status: creating include/jemalloc/internal/jemalloc_internal.hconfig.status: creating test/test.shconfig.status: creating test/include/test/jemalloc_test.hconfig.status: creating config.stampconfig.status: creating bin/jemalloc-configconfig.status: creating bin/jemalloc.shconfig.status: creating bin/jeprofconfig.status: creating include/jemalloc/jemalloc_defs.hconfig.status: creating include/jemalloc/internal/jemalloc_internal_defs.hconfig.status: creating test/include/test/jemalloc_test_defs.hconfig.status: executing include/jemalloc/internal/private_namespace.h commandsconfig.status: executing include/jemalloc/internal/private_unnamespace.h commandsconfig.status: executing include/jemalloc/internal/public_symbols.txt commandsconfig.status: executing include/jemalloc/internal/public_namespace.h commandsconfig.status: executing include/jemalloc/internal/public_unnamespace.h commandsconfig.status: executing include/jemalloc/internal/size_classes.h commandsconfig.status: executing include/jemalloc/jemalloc_protos_jet.h commandsconfig.status: executing include/jemalloc/jemalloc_rename.h commandsconfig.status: executing include/jemalloc/jemalloc_mangle.h commandsconfig.status: executing include/jemalloc/jemalloc_mangle_jet.h commandsconfig.status: executing include/jemalloc/jemalloc.h commands===============================================================================jemalloc version   : 4.0.3-0-ge9192eacf8935e29fc62fddc2701f7942b1cc02clibrary revision   : 2CONFIG             : --with-lg-quantum=3 --with-jemalloc-prefix=je_ --enable-cc-silence CFLAGS=-std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops  LDFLAGS=CC                 : gccCFLAGS             : -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops  -fvisibility=hiddenCPPFLAGS           :  -D_GNU_SOURCE -D_REENTRANTLDFLAGS            : EXTRA_LDFLAGS      : LIBS               :  -lpthreadTESTLIBS           : RPATH_EXTRA        : XSLTPROC           : /usr/bin/xsltprocXSLROOT            : PREFIX             : /usr/localBINDIR             : /usr/local/binDATADIR            : /usr/local/shareINCLUDEDIR         : /usr/local/includeLIBDIR             : /usr/local/libMANDIR             : /usr/local/share/mansrcroot            : abs_srcroot        : /root/redisA/deps/jemalloc/objroot            : abs_objroot        : /root/redisA/deps/jemalloc/JEMALLOC_PREFIX    : je_JEMALLOC_PRIVATE_NAMESPACE                   : je_install_suffix     : autogen            : 0cc-silence         : 1debug              : 0code-coverage      : 0stats              : 1prof               : 0prof-libunwind     : 0prof-libgcc        : 0prof-gcc           : 0tcache             : 1fill               : 1utrace             : 0valgrind           : 0xmalloc            : 0munmap             : 0lazy_lock          : 0tls                : 1cache-oblivious    : 1===============================================================================cd jemalloc && make CFLAGS="-std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops " LDFLAGS="" lib/libjemalloc.amake[3]: Entering directory `/root/redisA/deps/jemallocgcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops  -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/jemalloc.o src/jemalloc.cgcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops  -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/arena.o src/arena.cgcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops  -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/atomic.o src/atomic.cgcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops  -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/base.o src/base.cgcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops  -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/bitmap.o src/bitmap.cgcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops  -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/chunk.o src/chunk.cgcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops  -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/chunk_dss.o src/chunk_dss.cgcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops  -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/chunk_mmap.o src/chunk_mmap.cgcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops  -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/ckh.o src/ckh.cgcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops  -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/ctl.o src/ctl.cgcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops  -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/extent.o src/extent.cgcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops  -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/hash.o src/hash.cgcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops  -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/huge.o src/huge.cgcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops  -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/mb.o src/mb.cgcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops  -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/mutex.o src/mutex.cgcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops  -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/pages.o src/pages.cgcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops  -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/prof.o src/prof.cgcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops  -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/quarantine.o src/quarantine.cgcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops  -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/rtree.o src/rtree.cgcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops  -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/stats.o src/stats.cgcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops  -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/tcache.o src/tcache.cgcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops  -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/util.o src/util.cgcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops  -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/tsd.o src/tsd.car 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.omake[3]: Leaving directory `/root/redisA/deps/jemallocmake[2]: 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 release.o    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-aofHint: Its a good idea to run make test ;)make[1]: Leaving directory `/root/redisA/src

4. 安装:

# make install

附:安装信息

cd src && make installmake[1]: Entering directory `/root/redisA/srcHint: Its a good idea to run make test ;)    INSTALL install    INSTALL install    INSTALL install    INSTALL install    INSTALL installmake[1]: Leaving directory `/root/redisA/src

第三步:启动

./src/redis-server redis.conf

附:启动信息

技术分享

第四步:测试

启动窗口不关闭情况下,再打开一个crt窗口,登录客户端测试。

技术分享

至此,redis 实例已成功安装完成!

Redis【第一篇】安装