Redis内存数据库快速入门
Redis简介
Redis是一个开源(BSD许可),内存数据结构存储,用作数据库,缓存和消息代理。它支持数据结构,如 字符串,散列,列表,集合,带有范围查询的排序集,位图,超级日志,具有半径查询和流的地理空间索引。Redis具有内置复制,Lua脚本,LRU驱逐,事务和不同级别的磁盘持久性,并通过Redis Sentinel和Redis Cluster自动分区。
您可以对这些类型运行原子操作,例如附加到字符串 ; 递增哈希值 ; 将元素推送到列表中 ; 计算集合交集, 并集和差集 ; 或者在排序集中获得排名最高的成员。
为了实现其出色的性能,Redis使用 内存数据集。根据您的使用情况,您可以通过 每隔一段时间将数据集转储到磁盘或通过将每个命令附加到日志来保留它。如果您只需要功能丰富的网络内存缓存,则可以选择禁用持久性。
Redis还支持简单到复杂的主从异步复制,具有非常快速的非阻塞首次同步,自动重新连接以及在网络分割上的部分重新同步。
一.下载
百度Redis,选中
下载最新版Redis 5.0.3
二.上传到Linux服务器
三.解压到指定文件
执行:tar -zxvf redis-5.0.3.tar.gz
四.安装gcc,tcl命令编译器
执行:yum -y install gcc tcl
查看
五.安装【make:执行安装前的检测工作,&&表示命令先后执行,PREFIX:指定安装的目录】
安装日志:
- [root@zhen redis-5.0.]# make && make PREFIX=/usr/local/redis install
- cd src && make all
- make[]: 进入目录“/usr/local/soft/redis-5.0./src”
- CC Makefile.dep
- make[]: 离开目录“/usr/local/soft/redis-5.0./src”
- make[]: 进入目录“/usr/local/soft/redis-5.0./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 Makefile.dep dict-benchmark
- (cd ../deps && make distclean)
- make[]: 进入目录“/usr/local/soft/redis-5.0./deps”
- (cd hiredis && make clean) > /dev/null || true
- (cd linenoise && make clean) > /dev/null || true
- (cd lua && make clean) > /dev/null || true
- (cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true
- (rm -f .make-*)
- make[]: 离开目录“/usr/local/soft/redis-5.0./deps”
- (rm -f .make-*)
- echo STD=-std=c99 -pedantic -DREDIS_STATIC='' >> .make-settings
- echo WARN=-Wall -W -Wno-missing-field-initializers >> .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 -Wno-missing-field-initializers -O2 -g -ggdb -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 jemalloc)
- make[]: 进入目录“/usr/local/soft/redis-5.0./deps”
- (cd hiredis && make clean) > /dev/null || true
- (cd linenoise && make clean) > /dev/null || true
- (cd lua && 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[]: 进入目录“/usr/local/soft/redis-5.0./deps/hiredis”
- cc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb net.c
- cc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb hiredis.c
- cc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb sds.c
- cc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb async.c
- cc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb read.c
- ar rcs libhiredis.a net.o hiredis.o sds.o async.o read.o
- make[]: 离开目录“/usr/local/soft/redis-5.0./deps/hiredis”
- MAKE linenoise
- cd linenoise && make
- make[]: 进入目录“/usr/local/soft/redis-5.0./deps/linenoise”
- cc -Wall -Os -g -c linenoise.c
- make[]: 离开目录“/usr/local/soft/redis-5.0./deps/linenoise”
- MAKE lua
- cd lua/src && make all CFLAGS="-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' " MYLDFLAGS="" AR="ar rcu"
- make[]: 进入目录“/usr/local/soft/redis-5.0./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: 在函数‘f_parser’中:
- ldo.c::: 警告:未使用的变量‘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 lua lua.o liblua.a -lm
- liblua.a(loslib.o):在函数‘os_tmpname’中:
- loslib.c:(.text+0x28c): 警告:the use of `tmpnam' is dangerous, better use `mkstemp'
- 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 luac luac.o print.o liblua.a -lm
- make[]: 离开目录“/usr/local/soft/redis-5.0./deps/lua/src”
- MAKE jemalloc
- cd jemalloc && ./configure --with-version=5.1.--g0 --with-lg-quantum= --with-jemalloc-prefix=je_ --enable-cc-silence CFLAGS="-std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops " LDFLAGS=""
- configure: WARNING: unrecognized options: --enable-cc-silence
- checking for xsltproc... false
- 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 whether compiler is cray... no
- checking whether compiler supports -std=gnu11... yes
- checking whether compiler supports -Wall... yes
- checking whether compiler supports -Wshorten--to-... no
- checking whether compiler supports -Wsign-compare... yes
- checking whether compiler supports -Wundef... yes
- checking whether compiler supports -Wno-format-zero-length... yes
- checking whether compiler supports -pipe... yes
- checking whether compiler supports -g3... yes
- checking how to run the C preprocessor... gcc -E
- checking for g++... no
- checking for c++... no
- checking for gpp... no
- checking for aCC... no
- checking for CC... no
- checking for cxx... no
- checking for cc++... no
- checking for cl.exe... no
- checking for FCC... no
- checking for KCC... no
- checking for RCC... no
- checking for xlC_r... no
- checking for xlC... no
- checking whether we are using the GNU C++ compiler... no
- checking whether g++ accepts -g... no
- checking whether g++ supports C++ features by default... no
- checking whether g++ supports C++ features with -std=c++... no
- checking whether g++ supports C++ features with -std=c++0x... no
- checking whether g++ supports C++ features with +std=c++... no
- checking whether g++ supports C++ features with -h std=c++... no
- configure: No compiler with C++ support was found
- 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 size of void *...
- checking size of int...
- checking size of long...
- checking size of long long...
- checking size of intmax_t...
- checking build system type... x86_64-pc-linux-gnu
- checking host system type... x86_64-pc-linux-gnu
- checking whether pause instruction is compilable... yes
- checking number of significant virtual address bits...
- checking for ar... ar
- checking for nm... nm
- checking for gawk... gawk
- 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 for library containing log... -lm
- checking whether __attribute__ syntax is compilable... yes
- checking whether compiler supports -fvisibility=hidden... yes
- checking whether compiler supports -fvisibility=hidden... no
- checking whether compiler supports -Werror... yes
- checking whether compiler supports -herror_on_warning... no
- checking whether tls_model attribute is compilable... yes
- checking whether compiler supports -Werror... yes
- checking whether compiler supports -herror_on_warning... no
- checking whether alloc_size attribute is compilable... yes
- checking whether compiler supports -Werror... yes
- checking whether compiler supports -herror_on_warning... no
- checking whether format(gnu_printf, ...) attribute is compilable... yes
- checking whether compiler supports -Werror... yes
- checking whether compiler supports -herror_on_warning... no
- 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 whether compiler supports -O3... yes
- checking whether compiler supports -O3... no
- checking whether compiler supports -funroll-loops... yes
- checking configured backtracing method... N/A
- checking for sbrk... yes
- checking whether utrace() is compilable... no
- checking whether a program using __builtin_unreachable is compilable... yes
- checking whether a program using __builtin_ffsl is compilable... yes
- checking LG_PAGE...
- checking pthread.h usability... yes
- checking pthread.h presence... yes
- checking for pthread.h... yes
- checking for pthread_create in -lpthread... yes
- checking dlfcn.h usability... yes
- checking dlfcn.h presence... yes
- checking for dlfcn.h... yes
- checking for dlsym... no
- checking for dlsym in -ldl... yes
- checking whether pthread_atfork() is compilable... yes
- checking whether pthread_setname_np() is compilable... yes
- checking for library containing clock_gettime... none required
- checking whether clock_gettime(CLOCK_MONOTONIC_COARSE, ...) is compilable... yes
- checking whether clock_gettime(CLOCK_MONOTONIC, ...) is compilable... yes
- checking whether mach_absolute_time() is compilable... no
- checking whether compiler supports -Werror... yes
- checking whether syscall() is compilable... yes
- checking for secure_getenv... yes
- checking for sched_getcpu... yes
- checking for sched_setaffinity... 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 GCC __atomic atomics is compilable... yes
- checking whether GCC __sync atomics is compilable... yes
- checking whether Darwin OSAtomic*() is compilable... no
- checking whether madvise() is compilable... yes
- checking whether madvise(..., MADV_FREE) is compilable... no
- checking whether madvise(..., MADV_DONTNEED) is compilable... yes
- checking whether madvise(..., MADV_DO[NT]DUMP) is compilable... yes
- checking whether madvise(..., MADV_[NO]HUGEPAGE) is compilable... yes
- checking whether to force -bit __sync_{add,sub}_and_fetch()... no
- checking whether to force -bit __sync_{add,sub}_and_fetch()... no
- checking for __builtin_clz... yes
- checking whether Darwin os_unfair_lock_*() is compilable... no
- 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 whether compiler supports -D_GNU_SOURCE... yes
- checking whether compiler supports -Werror... yes
- checking whether compiler supports -herror_on_warning... no
- checking whether strerror_r returns char with gnu source 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_preamble.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/public_symbols.txt commands
- config.status: executing include/jemalloc/internal/private_symbols.awk commands
- config.status: executing include/jemalloc/internal/private_symbols_jet.awk 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
- configure: WARNING: unrecognized options: --enable-cc-silence
- ===============================================================================
- jemalloc version : 5.1.--g0
- library revision :
- CONFIG : --with-version=5.1.--g0 --with-lg-quantum= --with-jemalloc-prefix=je_ --enable-cc-silence 'CFLAGS=-std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops ' LDFLAGS=
- CC : gcc
- CONFIGURE_CFLAGS : -std=gnu11 -Wall -Wsign-compare -Wundef -Wno-format-zero-length -pipe -g3 -fvisibility=hidden -O3 -funroll-loops
- SPECIFIED_CFLAGS : -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops
- EXTRA_CFLAGS :
- CPPFLAGS : -D_GNU_SOURCE -D_REENTRANT
- CXX : g++
- CONFIGURE_CXXFLAGS :
- SPECIFIED_CXXFLAGS :
- EXTRA_CXXFLAGS :
- LDFLAGS :
- EXTRA_LDFLAGS :
- DSO_LDFLAGS : -shared -Wl,-soname,$(@F)
- LIBS : -lm -lpthread -ldl
- RPATH_EXTRA :
- XSLTPROC : false
- 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 : /usr/local/soft/redis-5.0./deps/jemalloc/
- objroot :
- abs_objroot : /usr/local/soft/redis-5.0./deps/jemalloc/
- JEMALLOC_PREFIX : je_
- JEMALLOC_PRIVATE_NAMESPACE
- : je_
- install_suffix :
- malloc_conf :
- autogen :
- debug :
- stats :
- prof :
- prof-libunwind :
- prof-libgcc :
- prof-gcc :
- fill :
- utrace :
- xmalloc :
- log :
- lazy_lock :
- cache-oblivious :
- cxx :
- ===============================================================================
- cd jemalloc && make CFLAGS="-std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops " LDFLAGS="" lib/libjemalloc.a
- make[]: 进入目录“/usr/local/soft/redis-5.0./deps/jemalloc”
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -DJEMALLOC_NO_PRIVATE_NAMESPACE -o src/jemalloc.sym.o src/jemalloc.c
- nm -a src/jemalloc.sym.o | gawk -f include/jemalloc/internal/private_symbols.awk > src/jemalloc.sym
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -DJEMALLOC_NO_PRIVATE_NAMESPACE -o src/arena.sym.o src/arena.c
- nm -a src/arena.sym.o | gawk -f include/jemalloc/internal/private_symbols.awk > src/arena.sym
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -DJEMALLOC_NO_PRIVATE_NAMESPACE -o src/background_thread.sym.o src/background_thread.c
- nm -a src/background_thread.sym.o | gawk -f include/jemalloc/internal/private_symbols.awk > src/background_thread.sym
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -DJEMALLOC_NO_PRIVATE_NAMESPACE -o src/base.sym.o src/base.c
- nm -a src/base.sym.o | gawk -f include/jemalloc/internal/private_symbols.awk > src/base.sym
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -DJEMALLOC_NO_PRIVATE_NAMESPACE -o src/bin.sym.o src/bin.c
- nm -a src/bin.sym.o | gawk -f include/jemalloc/internal/private_symbols.awk > src/bin.sym
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -DJEMALLOC_NO_PRIVATE_NAMESPACE -o src/bitmap.sym.o src/bitmap.c
- nm -a src/bitmap.sym.o | gawk -f include/jemalloc/internal/private_symbols.awk > src/bitmap.sym
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -DJEMALLOC_NO_PRIVATE_NAMESPACE -o src/ckh.sym.o src/ckh.c
- nm -a src/ckh.sym.o | gawk -f include/jemalloc/internal/private_symbols.awk > src/ckh.sym
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -DJEMALLOC_NO_PRIVATE_NAMESPACE -o src/ctl.sym.o src/ctl.c
- nm -a src/ctl.sym.o | gawk -f include/jemalloc/internal/private_symbols.awk > src/ctl.sym
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -DJEMALLOC_NO_PRIVATE_NAMESPACE -o src/div.sym.o src/div.c
- nm -a src/div.sym.o | gawk -f include/jemalloc/internal/private_symbols.awk > src/div.sym
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -DJEMALLOC_NO_PRIVATE_NAMESPACE -o src/extent.sym.o src/extent.c
- nm -a src/extent.sym.o | gawk -f include/jemalloc/internal/private_symbols.awk > src/extent.sym
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -DJEMALLOC_NO_PRIVATE_NAMESPACE -o src/extent_dss.sym.o src/extent_dss.c
- nm -a src/extent_dss.sym.o | gawk -f include/jemalloc/internal/private_symbols.awk > src/extent_dss.sym
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -DJEMALLOC_NO_PRIVATE_NAMESPACE -o src/extent_mmap.sym.o src/extent_mmap.c
- nm -a src/extent_mmap.sym.o | gawk -f include/jemalloc/internal/private_symbols.awk > src/extent_mmap.sym
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -DJEMALLOC_NO_PRIVATE_NAMESPACE -o src/hash.sym.o src/hash.c
- nm -a src/hash.sym.o | gawk -f include/jemalloc/internal/private_symbols.awk > src/hash.sym
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -DJEMALLOC_NO_PRIVATE_NAMESPACE -o src/hooks.sym.o src/hooks.c
- nm -a src/hooks.sym.o | gawk -f include/jemalloc/internal/private_symbols.awk > src/hooks.sym
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -DJEMALLOC_NO_PRIVATE_NAMESPACE -o src/large.sym.o src/large.c
- nm -a src/large.sym.o | gawk -f include/jemalloc/internal/private_symbols.awk > src/large.sym
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -DJEMALLOC_NO_PRIVATE_NAMESPACE -o src/log.sym.o src/log.c
- nm -a src/log.sym.o | gawk -f include/jemalloc/internal/private_symbols.awk > src/log.sym
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -DJEMALLOC_NO_PRIVATE_NAMESPACE -o src/malloc_io.sym.o src/malloc_io.c
- nm -a src/malloc_io.sym.o | gawk -f include/jemalloc/internal/private_symbols.awk > src/malloc_io.sym
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -DJEMALLOC_NO_PRIVATE_NAMESPACE -o src/mutex.sym.o src/mutex.c
- nm -a src/mutex.sym.o | gawk -f include/jemalloc/internal/private_symbols.awk > src/mutex.sym
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -DJEMALLOC_NO_PRIVATE_NAMESPACE -o src/mutex_pool.sym.o src/mutex_pool.c
- nm -a src/mutex_pool.sym.o | gawk -f include/jemalloc/internal/private_symbols.awk > src/mutex_pool.sym
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -DJEMALLOC_NO_PRIVATE_NAMESPACE -o src/nstime.sym.o src/nstime.c
- nm -a src/nstime.sym.o | gawk -f include/jemalloc/internal/private_symbols.awk > src/nstime.sym
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -DJEMALLOC_NO_PRIVATE_NAMESPACE -o src/pages.sym.o src/pages.c
- nm -a src/pages.sym.o | gawk -f include/jemalloc/internal/private_symbols.awk > src/pages.sym
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -DJEMALLOC_NO_PRIVATE_NAMESPACE -o src/prng.sym.o src/prng.c
- nm -a src/prng.sym.o | gawk -f include/jemalloc/internal/private_symbols.awk > src/prng.sym
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -DJEMALLOC_NO_PRIVATE_NAMESPACE -o src/prof.sym.o src/prof.c
- nm -a src/prof.sym.o | gawk -f include/jemalloc/internal/private_symbols.awk > src/prof.sym
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -DJEMALLOC_NO_PRIVATE_NAMESPACE -o src/rtree.sym.o src/rtree.c
- nm -a src/rtree.sym.o | gawk -f include/jemalloc/internal/private_symbols.awk > src/rtree.sym
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -DJEMALLOC_NO_PRIVATE_NAMESPACE -o src/stats.sym.o src/stats.c
- nm -a src/stats.sym.o | gawk -f include/jemalloc/internal/private_symbols.awk > src/stats.sym
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -DJEMALLOC_NO_PRIVATE_NAMESPACE -o src/sz.sym.o src/sz.c
- nm -a src/sz.sym.o | gawk -f include/jemalloc/internal/private_symbols.awk > src/sz.sym
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -DJEMALLOC_NO_PRIVATE_NAMESPACE -o src/tcache.sym.o src/tcache.c
- nm -a src/tcache.sym.o | gawk -f include/jemalloc/internal/private_symbols.awk > src/tcache.sym
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -DJEMALLOC_NO_PRIVATE_NAMESPACE -o src/ticker.sym.o src/ticker.c
- nm -a src/ticker.sym.o | gawk -f include/jemalloc/internal/private_symbols.awk > src/ticker.sym
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -DJEMALLOC_NO_PRIVATE_NAMESPACE -o src/tsd.sym.o src/tsd.c
- nm -a src/tsd.sym.o | gawk -f include/jemalloc/internal/private_symbols.awk > src/tsd.sym
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -DJEMALLOC_NO_PRIVATE_NAMESPACE -o src/witness.sym.o src/witness.c
- nm -a src/witness.sym.o | gawk -f include/jemalloc/internal/private_symbols.awk > src/witness.sym
- /bin/sh include/jemalloc/internal/private_namespace.sh src/jemalloc.sym src/arena.sym src/background_thread.sym src/base.sym src/bin.sym src/bitmap.sym src/ckh.sym src/ctl.sym src/div.sym src/extent.sym src/extent_dss.sym src/extent_mmap.sym src/hash.sym src/hooks.sym src/large.sym src/log.sym src/malloc_io.sym src/mutex.sym src/mutex_pool.sym src/nstime.sym src/pages.sym src/prng.sym src/prof.sym src/rtree.sym src/stats.sym src/sz.sym src/tcache.sym src/ticker.sym src/tsd.sym src/witness.sym > include/jemalloc/internal/private_namespace.gen.h
- cp include/jemalloc/internal/private_namespace.gen.h include/jemalloc/internal/private_namespace.gen.h
- 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/background_thread.o src/background_thread.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/bin.o src/bin.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/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/div.o src/div.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/extent_dss.o src/extent_dss.c
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/extent_mmap.o src/extent_mmap.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/hooks.o src/hooks.c
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/large.o src/large.c
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/log.o src/log.c
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/malloc_io.o src/malloc_io.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/mutex_pool.o src/mutex_pool.c
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/nstime.o src/nstime.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/prng.o src/prng.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/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/sz.o src/sz.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/ticker.o src/ticker.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
- gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/witness.o src/witness.c
- ar crus lib/libjemalloc.a src/jemalloc.o src/arena.o src/background_thread.o src/base.o src/bin.o src/bitmap.o src/ckh.o src/ctl.o src/div.o src/extent.o src/extent_dss.o src/extent_mmap.o src/hash.o src/hooks.o src/large.o src/log.o src/malloc_io.o src/mutex.o src/mutex_pool.o src/nstime.o src/pages.o src/prng.o src/prof.o src/rtree.o src/stats.o src/sz.o src/tcache.o src/ticker.o src/tsd.o src/witness.o
- make[]: 离开目录“/usr/local/soft/redis-5.0./deps/jemalloc”
- make[]: 离开目录“/usr/local/soft/redis-5.0./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 redis-check-aof.o
- CC geo.o
- CC lazyfree.o
- CC module.o
- CC evict.o
- CC expire.o
- CC geohash.o
- CC geohash_helper.o
- CC childinfo.o
- CC defrag.o
- CC siphash.o
- CC rax.o
- CC t_stream.o
- CC listpack.o
- CC localtime.o
- CC lolwut.o
- CC lolwut5.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
- INSTALL redis-check-aof
- Hint: It's a good idea to run 'make test' ;)
- make[]: 离开目录“/usr/local/soft/redis-5.0./src”
- cd src && make install
- make[]: 进入目录“/usr/local/soft/redis-5.0./src”
- CC Makefile.dep
- make[]: 离开目录“/usr/local/soft/redis-5.0./src”
- make[]: 进入目录“/usr/local/soft/redis-5.0./src”
- Hint: It's a good idea to run 'make test' ;)
- INSTALL install
- INSTALL install
- INSTALL install
- INSTALL install
- INSTALL install
- make[]: 离开目录“/usr/local/soft/redis-5.0./src”
表示安装成功!
六.测试
执行命令:./bin/redis-server,启动redis
关闭redis服务执行快捷键:Ctrl+C
七.配置redis后台执行
在profile配置中添加redis配置,下面的REDIS_HOME路径之的就是上面第五部你设置的路径
执行命令:source ./profile,刷新
八.安装Redis系统服务
进入utils目录下,执行:./install_server.sh,进行安装,其它都按Enter下一步【表示按照默认配置】
此时表示安装成功!
九.Redis服务
1.查看,执行命令:ps aux | grep -v grep | grep redis-server
2.启动服务,执行命令:service redis_6379 start
3.关闭服务,执行命令:service redis_6379 stop
4.连接redis服务,执行命令:redis-cli
5.执行清单
- redis 127.0.0.1:6379> info #查看server版本内存使用连接等信息
- redis 127.0.0.1:6379> client list #获取客户连接列表
- redis 127.0.0.1:6379> client kill 127.0.0.1:33441 #终止某个客户端连接
- redis 127.0.0.1:6379> dbsize #当前保存key的数量
- redis 127.0.0.1:6379> save #立即保存数据到硬盘
- redis 127.0.0.1:6379> bgsave #异步保存数据到硬盘
- redis 127.0.0.1:6379> flushdb #当前库中移除所有key
- redis 127.0.0.1:6379> flushall #移除所有key从所有库中
- redis 127.0.0.1:6379> lastsave #获取上次成功保存到硬盘的unix时间戳
- redis 127.0.0.1:6379> monitor #实时监测服务器接收到的请求
- redis 127.0.0.1:6379> slowlog len #查询慢查询日志条数(integer) 3
- redis 127.0.0.1:6379> slowlog get #返回所有的慢查询日志,最大值取决于slowlog-max-len配置
- redis 127.0.0.1:6379> slowlog get 2 #打印两条慢查询日志
- redis 127.0.0.1:6379> slowlog reset #清空慢查询日志信息
Redis内存数据库快速入门的更多相关文章
- Redis之快速入门与应用[教程/总结]
内容概要 因为项目中用户注册发送验证码,需要学习redis内存数据库,故而下午花了些时间进行初步学习.本博文性质属于对今日redis学习内容的小结.在看本博文前或者看完后,可以反问自己三个问题:Red ...
- Redis 快速入门
Redis 快速入门 谈到Redis,大家应该都不陌生.它是用c语言开发的一个高性能键值数据库,主要用于缓存领域.本章通过Redis的安装,Redis的五大数据类型,Redis的Java客户端,Red ...
- Redis快速入门:安装、配置和操作
本文是有关Redis的系列技术文章之一.在之前的文章中介绍了<Redis快速入门:初识Redis>,对Redis有了一个初步的了解.今天继续为大家介绍Redis如何安装.配置和操作. 系列 ...
- Redis快速入门及实现
redis的概念 (1)Redis的优点 以下是Redis的一些优点. 异常快 - Redis非常快,每秒可执行大约110000次的设置(SET)操作,每秒大约可执行81000次的读取/获取(GET) ...
- [你必须知道的NOSQL系列]专题二:Redis快速入门
一.前言 在前一篇博文介绍了MongoDB基本操作,本来打算这篇博文继续介绍MongoDB的相关内容的,例如索引,主从备份等内容的,但是发现这些内容都可以通过官方文档都可以看到,并且都非常详细,所以这 ...
- 二:Redis快速入门及应用
Redis的使用难吗?不难,Redis用好容易吗?不容易.Redis的使用虽然不难,但与业务结合的应用场景特别多.特别紧,用好并不容易.我们希望通过一篇文章及Demo,即可轻松.快速入门并学会应用. ...
- Redis快速入门及应用
Redis的使用难吗?不难,Redis用好容易吗?不容易.Redis的使用虽然不难,但与业务结合的应用场景特别多.特别紧,用好并不容易.我们希望通过一篇文章及Demo,即可轻松.快速入门并学会应用.一 ...
- Redis 十分钟快速入门
本教程是一个快速入门教程,所以Redis的命令只是简单介绍了几个常用的,如果有其他需求请求官网查看API 使用. 1. Redis简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的ke ...
- 中小型研发团队架构实践五:Redis快速入门及应用
Redis的使用难吗?不难,Redis用好容易吗?不容易.Redis的使用虽然不难,但与业务结合的应用场景特别多.特别紧,用好并不容易.我们希望通过一篇文章及Demo,即可轻松.快速入门并学会应用. ...
随机推荐
- 浅入浅出Typescript Decorators
临时起的兴趣,想写一篇关于ts decorator的文章,就花小半天整理了一下... 这东西,在ES2017里好像也有... 文档的话看这里. 因为临时,就没想写太多文字介绍,带少许文字说明直接开撸 ...
- Node.js 使用 RSA 做加密
RSA RSA加密算法是一种非对称加密算法. 假设 A 与 B 通信.A 和 B 都提供一个公开的公钥.A 把需要传递的信息,先用自己的私钥签名,再用 B 的公钥加密.B 接收到这串密文后,用自己的私 ...
- 函数式编程之-定义能够支持Partial application的函数
是时候介绍如何在F#中定义函数了,在你没有接触过函数式编程语言之前,你也许会觉得C#/Java的语法已经够丰富了,有什么任务做不了呢?当你读过函数式编程之Currying和函数式编程之Partial ...
- 使用docker搭建数据分析环境
注:早在学习<云计算>这门课之前就已经知道docker,学习这门课时老师还鼓励我们自己尝试一下:但是直到去年年底才有机会尝试,用过之后感觉确实很好用.最近需要部署几个shiny应用,又回顾 ...
- 【ASP.NET MVC系列】浅谈ASP.NET MVC 视图与控制器传递数据
ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...
- maven创建一个简单的web项目
1.确认maven插件和配置在eclipse中已经完成 如果没完成,可参考这篇博客:http://www.cnblogs.com/mmzs/p/8191979.html 2.在eclipse中用mav ...
- Docker在Linux上运行NetCore系列(四)使用私有Nuget与多个本地包引用运行ASPNetCore
转发请注明此文章作者与路径,请尊重原著,违者必究. 本篇文章演示了使用Dockerfile在Linux(ubuntu16.04)系统上构建ASPNetCore应用,并且在一个解决方案中存在多个项目之间 ...
- Docker虚拟机实战
安装Docker虚拟机 ◆ 先更新yum软件管理器,然后再安装Docker #更新yum软件管理器 yum -y update #安装Docker yum install -y ...
- ABP Changing Httpcode status
小弟初来乍到,分享一些工作学习中遇到的问题和解决方式,如有不准确或是有错误的地方,希望不吝赐教,谢过了. --Dogtwo 起因: ABP 中异常处理的思路是很清晰的.一共五种类型的异常类. Abp ...
- asp.net 二级域名表单认证情况下共享Cookie
二级域名之间共享Cookie,很重要的一点就是配置,如下: domain设置为.ahdqxx.com,如果你的域名是www.ahdqxx.com,mall.ahdqxx.com,那么请设置你的doma ...