安装redis时,make报错提示的解决方案

解决方案

1、安装gcc套装

yum install cpp
yum install binutils
yum install glibc
yum install glibc-kernheaders
yum install glibc-common
yum install glibc-devel
yum install gcc
yum install make

2、升级gcc

yum -y install centos-release-scl

yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils

scl enable devtoolset-9 bash

3、当上面这几步完成后,再执行make命令即可

 wget http://download.redis.io/releases/redis-6.0.10.tar.gz

tar xzf redis-6.0.10.tar.gz 

cd redis-6.0.10

make

其中

make[3]: Entering directory `/root/redis-6.0.10/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

这一步费了10分钟,需要耐心等待。

运行redis

进入src目录

运行./redis-server

进入客户端控制窗口,运行./redis-cli

设置自动启动(修改一下安装路径),参考以下

https://www.cnblogs.com/liangyou666/p/9577468.html

 在写脚本前设置下redis允许在后台启动,修改redis.conf文件,把daemonize no改成daemonize yes,另外需要改3个目录,EXEC,CLIEXEC,CONF的目录需要核实。

 vim /etc/init.d/redis

#!/bin/bash
#chkconfig: 22345 10 90
#description: Start and Stop redis

REDISPORT=8530
EXEC=/root/redis-6.0.10/src/redis-server
CLIEXEC=/root/redis-6.0.10/src/redis-cli

PIDFILE=/var/run/redis.pid
CONF="/root/redis-6.0.10/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
        ;;
    restart)
        "$0" stop
        sleep 3
        "$0" start
        ;;
    *)
        echo "Please use start or stop or restart as first argument"
        ;;
esac

 #chmod +x /etc/init.d/redis

#chkconfig --add redis
#chkconfig redis on
#chkconfig --list   //查看所有注册的脚本文件

如果设置密码,设置密码的方法在redis.conf中,修改requirepass,设置一个值。在启动时,需要加入参数指定redis.conf 的路径,

如:[root@iZbp11o7w2mu4xppvkokmcZ redis-6.0.10]# src/redis-server redis.conf

   查看端口占用情况: netstat -tunlp | grep 6379

 用systemctl start redis  查看是否启动成功,systemctl status redis  看状态,不能暴红。

运用连接池(此连接池是以代码形式自己搞的,建议参考下一篇blog,有spring代理的连接池),参考以下

https://www.cnblogs.com/xinruyi/p/9391140.html

查看中文时乱码

./redis-cli --raw

用这个模式启动客户端就看到中文了。