解决方案
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
用wget获取,从本地的redis不知为何,make时出错。
在redis的目录中执行make出现致命错误没有文件,make是是安装redis进程!那么该如何解决
文件中没有jemalloc只有libc所以导致make错误,输出以下代码成功解决
输出命令:
make MALLOC=libc
tar xzf redis-6.0.10.tar.gz
cd redis-6.0.10
make (好像不需要make install,只要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
用这个模式启动客户端就看到中文了。