Redis问题汇总

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis问题汇总相关的知识,希望对你有一定的参考价值。

Redis脚本启动问题

因软件包自带的有脚本,我用的是4.0.10的源码包,修改即可

[[email protected] redis-4.0.10]# find / -name redis_init_script

/usr/local/redis-4.0.10/utils/redis_init_script

[[email protected] redis-4.0.10]# cp /usr/local/redis-4.0.10/utils/redis_init_script /etc/init.d/redisd

[[email protected] redis-4.0.10]#cat /etc/init.d/redisd


#!/bin/sh

#

# Simple Redis init.d script conceived to work on Linux systems

# as it does use of the /proc filesystem.


### BEGIN INIT INFO

# Provides:     redis_6379

# Default-Start:        2 3 4 5

# Default-Stop:         0 1 6

# Short-Description:    Redis data structure server

# Description:          Redis data structure server. See https://redis.io

### END INIT INFO


REDISPORT=6379

EXEC=/usr/local/bin/redis-server

CLIEXEC=/usr/local/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..."

                $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

我的端口是6380 ,安装目录在/usr/local/redis-4.0.10 ,所以REDISPORT=6380 ,EXEC=/usr/local/redis-4.0.10/src/redis-server ,CLIEXEC=/usr/local/redis-4.0.10/src/redis-cli ,CONF="/usr/local/redis-4.0.10/redis.conf"

给与执行权限后停止报错

[[email protected] redis-4.0.10]# /etc/init.d/redisd stop

Stopping ...

Warning: Using a password with '-a' option on the command line interface may not be safe.

(error) NOAUTH Authentication required.

Waiting for Redis to shutdown ...

Waiting for Redis to shutdown ...

Waiting for Redis to shutdown ...

Waiting for Redis to shutdown ...

Waiting for Redis to shutdown ...

Waiting for Redis to shutdown ...

^C

此时检查进程还在,既然是提示验证出错,那就检查脚本

$CLIEXEC -a "password" -p $REDISPORT shutdown  

添加红色内容,password是用redis-cli客户端登陆 -a后面跟的密码


[[email protected] redis-4.0.10]# /etc/init.d/redisd stop

Stopping ...

Warning: Using a password with '-a' option on the command line interface may not be safe.

Waiting for Redis to shutdown ...

Redis stopped

OK已成功停止Redis




以上是关于Redis问题汇总的主要内容,如果未能解决你的问题,请参考以下文章

Redis知识问题汇总

redis集群常见问题汇总持续更新中...

Redis系列相关面试题(汇总版)

19年bat面试题汇总

Redis学习汇总(已完结)

Redis常见客户端异常汇总(Jedis篇) | 运维进阶