一.Redis 介绍:
Redis是Remote Dictionary Server的缩写。他本质上一个Key/Value数据库,与Memcached类似的NoSQL型数据库,但是他的数据可以持久化的保存在磁盘上,解决了服务重启后数据不丢失的问题,他的值可以是string(字符串)、list(列表)、sets(集合)或者是ordered sets(被排序的集合),所有的数据类型都具有push/pop、add/remove、执行服务端的并集、交集、两个sets集中的差别等等操作,这些操作都是具有原子性的,Redis还支持各种不同的排序能力。
二. 准备工作
1.安装相关依赖包:yum -y install gcc gcc-c++ cmake make
2.×××:
下载地址: http://download.savannah.gnu.org/releases/libunwind/libunwind-0.99-alpha.tar.gz
(1).安装libunwind
tar zxvf libunwind-0.99-alpha.tar.gzcd libunwind-0.99-alpha/CFLAGS=-fPIC ./configuremake CFLAGS=-fPICmake CFLAGS=-fPIC install(2).安装gperftools
tar zxvf gperftools-2.1.tar.gzcd gperftools-2.1./configure --disable-cpu-profiler --disable-heap-profiler --disable-heap-checker --disable-debugalloc --enable-minimalmake && make installcd /usr/local/libln -sv libtcmalloc_minimal.so.4.1.2 libtcmalloc.so# 加粗部分如果不做的话,后面编译redis会报错: usr/bin/ld: cannot find ltcmallocecho "/usr/local/lib" > /etc/ld.so.conf.d/usr_local_lib.conf #如果没有这个文件,自己建一个/sbin/ldconfig3.Redis 安装:
tar zxvf redis-3.0.0.tar.gz
cd redis-3.0.0mkdir -p /usr/local/redis-3.0# make prefix= install# 将redis安装在/bin下/usr/local/redis-3.0/bin下# make PREFIX=/usr/local/redis-3.0 install # 此方式安装,使用linux默认的内存分配方式make PREFIX=/usr/local/redis-3.0 USE_TCMALLOC=yes FORCE_LIBC_MALLOC=yes install4.建相关目录,并配置redis.conf 文件[简单配置]
cd /usr/local/redis-3.0/mkdir etc #存放配置文件,这里目录名,可建为:confmkdir log #存放日志和pid文件mkdir data #存放数据vim etc/redis.confdaemonize yesport 6379pidfile /usr/local/redis-3.0/log/redis_6379.piddir /usr/local/redis-3.0/datalogfile /usr/local/redis-3.0/log/redis_6379.log5.Redis服务启动、关闭
(1).启动服务:/usr/local/redis-3.0/bin/redis-server /usr/local/redis-3.0/etc/redis.conf注:此命令仅有一个启动参数,指定目录下的配置文件,不加参数执行默认配置。测试启动:/usr/local/redis-3.0/bin/redis-cli ping返回PONG,则启动成功。查看端口是否被占用:netstat -ntlp |grep 6379(2).关闭服务:
/usr/local/redis-3.0/bin/redis-cli shutdown如果非默认端口,可指定端口:/usr/local/redis-3.0/bin/redis-cli -p 6380 shutdown(3).验证redis内存分配方式是否在使用tcmalloc
lsof -n |grep tcmallocredis-ser 2754 root mem REG 253,0 1078467 1725996 /usr/local/lib/libtcmalloc_minimal.so.4.1.26.Redis 服务启动脚本
redis 本身提供了redis安装脚本:utils/install_server.sh但 这个脚本包括安装服务,有点烦,我们直接取其安装脚本:#!/bin/sh#Configurations injected by install_server below....EXEC=/usr/local/redis-3.0/bin/redis-serverCLIEXEC=/usr/local/redis-3.0/bin/redis-cliPIDFILE=/usr/local/redis-3.0/log/redis_6379.pidCONF="/usr/local/redis-3.0/etc/redis.conf"REDISPORT="6379"case "$1" in
start)if [ -f $PIDFILE ]thenecho "$PIDFILE exists, process is already running or crashed"elseecho "Starting Redis server..."$EXEC $CONFfi;;stop)if [ ! -f $PIDFILE ]thenecho "$PIDFILE does not exist, process is not running"elsePID=$(cat $PIDFILE)echo "Stopping ..."$CLIEXEC -p $REDISPORT shutdownwhile [ -x /proc/${PID} ]doecho "Waiting for Redis to shutdown ..."sleep 1doneecho "Redis stopped"fi;;status)PID=$(cat $PIDFILE)if [ ! -x /proc/${PID} ]thenecho 'Redis is not running'elseecho "Redis is running ($PID)"fi;;restart)$0 stop$0 start;;*)echo "Please use start, stop, restart or status as first argument";;esac