redis 在linux下的安装

背景:在项目互联网项目开发中咱们常常须要缓存热点数据,在作热点数据缓存时有2个经常使用的方案redis

redis简介
redis是一个key-value存储系统。和Memcached相似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hashs(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操做,并且这些操做都是原子性的。在此基础上,redis支持各类不一样方式的排序。与memcached同样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操做写入追加的记录文件,而且在此基础上实现了master-slave(主从)同步。数据库

Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合能够对关系数据库起到很好的补充做用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。vim

1.memcached 以前有介绍到windows

2.redis(一个支持数据格式比memcached更丰富的方案,事实上memcached只支持一种数据格式)centos

环境:centos6.5+redis-2.8.19缓存

本文分为两个部分:第一部分介绍redis的安装,第二部分降redis作成一系统服务memcached

一.redis安装性能

将redis安装到此目录 ui

/usr/local/redis

将安装包下载到此目录 google

/usr/local/src

安装详细过程以下

$ mkdir /usr/local/redis  
$ cd /usr/local/src  
$ wget http://redis.googlecode.com/files/redis-2.8.19.tar.gz  
$ tar xzf redis-2.8.19.tar.gz   
$ ln -s redis-2.8.19 redis #创建一个软连接  
$ cd redis  
$ make PREFIX=/usr/local/redis install #安装到指定目录中

注意:这里源码包目录和最终安装目录不是同一个目录
咱们经过PREFIX指定了安装的目录。若是make失败,通常是大家系统中还未安装gcc,那么能够经过yum安装:
yum install gcc
gcc安装成功后继续执行 make make install

在安装redis成功后,你将能够在/usr/local/redis看到一个bin的目录,里面包括了如下文件: 

redis-benchmark  redis-check-aof  redis-check-dump  redis-cli  redis-server

二:将redis作成一个服务 

1.复制脚本到/etc/rc.d/init.d目录 

注意: /etc/rc.d/init.d/目录下的脚本就相似与windows中的注册表,在系统启动的时候某些指定脚本将被执行 
   按以上步骤安装Redis时,其服务脚本位于:

/usr/local/src/redis/utils/redis_init_script 

必须将其复制到/etc/rc.d/init.d的目录下: 

cp /usr/local/src/redis/utils/redis_init_script /etc/rc.d/init.d/redis

将redis_init_script复制到/etc/rc.d/init.d/,同时易名为redis

若是这时添加注册服务:

chkconfig --add redis

将报如下错误:

redis服务不支持chkconfig

为此,咱们须要更改redis脚本

2.更改redis脚本 

打开使用vi打开脚本,查看脚本信息:

vim /etc/rc.d/init.d/redis

看到的内容以下(下内容是更改好的信息): 

#!/bin/sh 
#1.增长一行 #chkconfig:
2345 80 90 # Simple Redis init.d script conceived to work on Linux systems # as it does use of the /proc filesystem. REDISPORT=6379
#2.修改路径 EXEC
=/usr/local/redis/bin/redis-server CLIEXEC=/usr/local/redis/bin/redis-cli PIDFILE=/var/run/redis_${REDISPORT}.pid CONF="/etc/redis/${REDISPORT}.conf" case "$1" in start) if [ -f $PIDFILE ] then echo "$PIDFILE exists, process is already running or crashed" else echo "Starting Redis server..."
#3.redis开启的命令,之后台运行的方式执行 $EXEC $CONF
& fi ;; stop) if [ ! -f $PIDFILE ] then echo "$PIDFILE does not exist, process is not running" else PID=$(cat $PIDFILE) echo "Stopping ..." $CLIEXEC -p $REDISPORT shutdown while [ -x /proc/${PID} ] do echo "Waiting for Redis to shutdown ..." sleep 1 done echo "Redis stopped" fi ;; *) echo "Please use start or stop as first argument" ;; esac

注意:后面的那个“&”,便是将服务转到后面运行的意思,不然启动服务时,Redis服务将 

占据在前台,占用了主用户界面,形成其它的命令执行不了。

4.将redis配置文件拷贝到/etc/redis/${REDISPORT}.conf 

mkdir /etc/redis    
cp /usr/local/src/redis/redis.conf /etc/redis/6379.conf

这样,redis服务脚本指定的CONF就存在了。默认状况下,Redis未启用认证,能够经过开启6379.conf的requirepass 指定一个验证密码。 

以上操做完成后,便可注册yedis服务:

chkconfig --add redis

3.启动redis服务 

service redis start

4.将redis加入path路径

修改profile文件:
vi /etc/profile
在最后行追加: 
export PATH="$PATH:/usr/local/redis/bin"

应用这个文件:

. /etc/profile  

这样就能够直接调用redis-cli的命令了,以下所示: 

[root@test03 redis]# redis-cli

127.0.0.1:6379> get 1
"cary"
127.0.0.1:6379> set 2 'david'
OK
127.0.0.1:6379> get 2
"david"

至此,redis 就成功安装了。