Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统。和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括string、list、set、zset和hash。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作。在此基础上,Redis支持各种不同方式的排序。
和Memcache一样,Redis数据都是缓存在计算机内存中,不同的是,Memcache只能将数据缓存到内存中,无法自动定期写入硬盘,这就表示,一断电或重启,内存清空,数据丢失。所以Memcache的应用场景适用于缓存无需持久化的数据。而Redis不同的是它会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,实现数据的持久化。

一、redis安装

1.cd /usr/src    >>进入目录
2.wget  http://download.redis.io/releases/redis-4.0.11.tar.gz     >>下载redis最新版 其他版本
3.tar xzf redis-4.0.11.tar.gz     >>解压刚刚下载的文件
4.tar xzf redis-4.0.11.tar.gz    >> 进入redis目录
5.make   >>执行make对解压后的文件进行编译

编译完成后,可以看到redis-4.0.11 目录中有src目录和 redis.conf 文件

6.编译成功后,进入src目录,执行 make install 对redis 进行安装 ,安装完成后如图

 

二、redis部署

安装完成后,对redis进行部署,
1.首先为了方便管理将Redis文件中的conf配置文件和常用命令移动到统一文件中

a.创建bin和etc目录

mkdir -p /usr/local/redis/bin
mkdir -p /usr/local/redis/etc

b.执行Linux文件移动命令
cd /usr/src/redis-4.0.11
cp redis.conf /usr/local/redis/etc
cd /lamp/redis-3.0.7/src
cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin

2.进入/usr/local/redis/bin ,执行Redis-server 命令,启动Redis 服务
cd /usr/local/redis/bin
./redis-server

注意:这里直接执行redis-server 启动的Redis服务,是在前台直接运行的(效果如上图),也就是说,执行完该命令后,如果Lunix关闭当前会话,则Redis服务也随即关闭。正常情况下,启动Redis服务需要从后台启动,并且指定启动配置文件。

3.后台启动redis服务

a.首先编辑conf文件,将daemonize属性改为yes(表明需要在后台运行)

cd etc/
vi redis.conf

b.再次启动redis服务,并指定启动服务配置文件

redis-server /usr/local/redis/etc/redis.conf

4.服务端安装成功后,创建启动命令
vim /etc/init.d/redis   >>创建redis文件

#!/bin/sh
#
# redis        Startup script for Redis Server
#
# chkconfig: - 80 12
# description: Redis is an open source, advanced key-value store.
#
# processname: redis-server
# config: /etc/redis.conf
# pidfile: /var/run/redis.pid
source /etc/init.d/functions
BIN="/usr/local/redis/bin"
CONFIG="/usr/local/redis/etc/redis.conf"
PIDFILE="/var/run/redis.pid"
### Read configuration
[ -r "$SYSCONFIG" ] && source "$SYSCONFIG"
RETVAL=0
prog="redis-server"
desc="Redis Server"
start() {
if [ -e $PIDFILE ];then
echo "$desc already running...."
exit 1
fi
echo -n $"Starting $desc: "
daemon $BIN/$prog $CONFIG
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
return $RETVAL
}
stop() {
echo -n $"Stop $desc: "
killproc $prog
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog $PIDFILE
return $RETVAL
}
restart() {
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
condrestart)
[ -e /var/lock/subsys/$prog ] && restart
RETVAL=$?
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|condrestart|status}"
RETVAL=1
esac
exit $RETVAL

chomd +x /etc/init.d/redis  >> 增加执行权限

service redis start   >>启动redis
service redis stop   >>停止redis
service redis restart  >>重启redis

chkconfig –add redis  >> 添加到服务

 

修改profile文件:

# vi /etc/profile

在最后行添加:

export PATH=”$PATH:/usr/local/redis/bin”

然后马上应用这个文件:

# . /etc/profile

配置下面的内核参数,否则Redis脚本在重启或停止redis时,将会报错,并且不能自动在停止服务前同步数据到磁盘上/etc/sysctl.conf加上

#vim /etc/sysctl.conf

vm.overcommit_memory = 1

#sysctl -p

到这里,redis服务就算安装完成了,可以尝试重启服务器,检查一下是否可以自动启动,redis服务端口是6379 ,可以通过修改/usr/local/redis/etc/redis.conf  端口

 

三、php 安装redis扩展

1.cd /usr/local/src/   >> 进入src目录
2.wget https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz   >>下载redis扩展安装包
3.tar zxvf 2.2.4.tar.gz  >>解压安装包
4.cd phpredis-2.2.4   >>进入安装目录
5./usr/local/php/bin/phpize    >>用phpize生成configure配置文件
6../configure –with-php-config=/usr/local/php/bin/php-config   >>配置
7.make  >>编译
8.make install >> 安装
9.vi /usr/local/php/etc/php.ini     >>配置PHP支持
最后一行添加
extension=”redis.so”

wq保存后重启php
/etc/init.d/php-fpm restart

 

到这里php redis扩展就安装完成了。

phpinfo可以查看下是否安装成功

PHP 测试是否正常

创建phpredis.php ,输入一下代码

//实例化redis
    $redis = new Redis();
    //连接
    $redis->connect('127.0.0.1', 6379);
    //检测是否连接成功
    echo "Server is running: " . $redis->ping();
    // 输出结果 Server is running: +PONG

访问域名/phpredis.php
如果正常则会输出  Server is running: +PONG

发表评论

电子邮件地址不会被公开。 必填项已用*标注