Redis安装和配置,以及安装phpredis

分类: 服务器 > PHP

一、安装Redis

1.下载最新版本:

$ wget http://download.redis.io/releases/redis-4.0.8.tar.gz
$ tar xzf redis-4.0.8.tar.gz
$ cp -p redis-4.0.8 /usr/local/redis4
$ cd redis4
$ make
$ sudo make install

这样就安装成功

 

2. 运行redis, 进入src目录,运行下面命令

$ src/redis-server

 

3. 测试:

$ src/redis-cli
redis> set hello world
OK
redis> get hello
"world"

 

4. 自启动

$ cp /usr/local/redis4/redis.conf /etc/redis.conf
$ vim /etc/redis.conf
编辑如下
daemonize yes
$ cp /usr/local/redis4/utils/redis_init_script /etc/rc.d/init.d/redis
$ cd /etc/rc.d/init.d/
$ vim redis #把里面的运行目录换成你自己的,并加上chkconfig和description
#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
REDISPORT=6379
EXEC=/usr/local/redis4/src/redis-server
CLIEXEC=/usr/local/redis4/src/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis.conf"
case "$1" in
    start)
        if [ -f $PIDFILE ]
        then
                echo "$PIDFILE exists, process is already running or crashed"
        else
                echo "Starting Redis server..."
                $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

5. 启动命令

$ chkconfig redis on
$ sudo service redis start  #启动
$ sudo service redis stop   #关闭服务

6.  配置持久化

## 默认情况下,是快照RDB的持久化方式,将内存中的数据以快照的方式写入二进制文件中,默认的文件名是dump.rdb
dbfilename dump.rdb ## 配置文件名
dir /var/lib/redis ## 配置数据库存放目录
# save "" ## 取消注释并注释下面的保存频率,则取消RDB持久化
save 900 1 ## 900秒内,如果超过1个key被修改,则发起快照保存
save 300 10 ## 300秒内,如果超过10个key被修改,则发起快照保存
save 60 10000 ## 60秒内,如果1万个key被修改,则发起快照保存
// AOF 配置方式,使用AOF做持久化,每一个命令以 Redis 协议的格式来保存,新命令会被追加到文件的末尾 appendonly yes ## 配置开启
appendfilename "appendonly.aof" ## aof文件
# appendfsync always ## 每执行一次更新命令,持久化一次 消耗性能
appendfsync everysec ## 每秒钟持久化一次,可能会丢失这 1s 的数据,因为这一秒redis不能执行其他操作
# appendfsync no ## 不持久化,不执行sync,这个时候操作系统自己同步数据,速度最快
stop-writes-on-bgsave-error yes ## yes代表当使用bgsave命令持久化出错时候停止写RDB快照文件,no表明忽略错误继续写文件。
rdbcompression yes ## 是否压缩 rdb 文件,需要消耗一些cpu资源,该功能可以节约磁盘空间。 rdbchecksum yes ## 在写入文件和读取文件时是否开启rdb文件检查,检查是否有无损坏,如果在启动是检查发现损坏,则停止启动

7. 修复AOF日志错误:

如果 aof 文件有错误,这时候 redis 是启动不起来的,工具 redis-check-aof --fix可以修复错误,但是可能会造成一部分数据丢失
redis-check-aof --fix appendonly.aof 

二、安装Redis PHP扩展

1.下载安装扩展

$ wget http://pecl.php.net/get/redis-4.0.0RC2.tgz
$ tar zxvf redis-4.0.0RC2.tgz
$ cd redis-4.0.0RC2
$ /usr/local/php7/bin/phpize   ----给PHP动态添加扩展命令,在php的bin目录下
$ ./configure -with-php-config=/usr/local/php7/bin/php-config
$ make && make install

 

2.在php.ini里添加扩展名称

$ vim /usr/local/php7/etc/php.ini
extension=redis.so --添加扩展名称

 

来源:原创 发布时间:2020-12-31 22:21:34