Redis初识:2.通过初始化脚本启动Redis

在此之前,我已经安装好redis了.在启动方式上直接执行redis编译好的服务器端程序即可,这样只适合在初步了解redis的基本功能时使用。如果要部署到测试或生产环境,肯定需要修改一些默认的配置,这是这种启动方式就有些不适用了。
当然redis除了直接执行服务器程序启动,同样支持使用脚本文件启动。

配置文件

先简单说下redis的配置文件,在上一节安装redis的编译目录下有一个redis的配置文件–redis.conf.
这里写图片描述
这个文件里列出了redis的一些参数配置的默认值和相关解释。redis的配置文件中可设置的参数有很多,这里只列出部分,有个初步留个初步印象。

参数含义默认值
daemonizeRedis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程no
pidfile如以后台进程运行,则需指定一个pid/var/run/redis_6379.pid
portRedis监听端口6379
tcp-backlog在高并发的环境中,为避免慢客户端的连接问题,需要设置一个高速后台日志511
timeout客户端超时关闭连接。0为无限制0
tcp-keepalive在 Linux 上,指定值(秒)用于发送 ACKs 的时间。注意关闭连接需要双倍的时间。0
loglevel日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warningverbose
logfile日志记录方式,默认为标准输出,如果配置Redis为守护进程方式运行,而这里又配置为日志记录方式为标准输出,则日志将会发送给/dev/null“”
databases设置数据库的数量,默认数据库为016
save指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合
dbfilename本地持久化数据库文件名dump.rdb
dir指定本地数据库存放目录./
slave-serve-stale-data设置当本机为slav服务时,设置master服务的IP地址及端口,在Redis启动时,它会自动从master进行数据同步yes
appendonly启用aof持久化方式,因为redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中。no
appendfilename更新日志文件名“appendonly.aof”
appendfsync写入磁盘时间,参数有everysec:每秒写入一次,always:收到命令立即写入磁盘,最慢,但保证完全持久化,no:性能最好,持久化没保证everysec
no-appendfsync-on-rewrite部署在同一机器的redis实例,把auto-aof-rewrite打开,因为cluster环境下内存占用基本一致 ,关闭在aof rewrite的时候对新的写操作进行fsyncno
cluster-enabled打开redis集群yes
hash-max-ziplist-entries指定在超过一定的数量或者最大的元素超过某一临界值时,采用一种特殊的哈希算法512
activerehashing指定是否激活重置哈希,默认为开启yes

启动配置

首先,在redis的utils目录下提供了一个初始化的脚本–redis_init_script。这使得我们可以通过这个脚本让redis随系统启动,这也是生产环境下建议使用的方式。说明一下,我的系统是Ubuntu,就以Ubuntu为例。
这里写图片描述
这里写图片描述
初始化脚本redis_init_script的内容如下:

#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.

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

可以看出,初始化脚本redis_init_script里定义了redis的端口,运行方式,持久化文件、日志文件的存储位置等。REDISPORT指定端口,CONF指定配置文件路径。配置的具体步骤如下。

  1. 配置初始化脚本。首先将初始化脚本复制到/etc/init.d目录中,并将文件名改为redis_6379。其中6379表示redis要监听的端口号,这里使用默认端口号6379。如果要使用别的端口也可以,不过需要交上面的脚本的REDISPORT改为相应的端口号。
    这里写图片描述
  2. 下面就是修改配置redis的配置文件–redis.conf。为了使用的方便,通常会指定redis的配置文件和持久化文件的存放位置,这里建立两个目录分别来存放着些文件。如我在/usr/local/下建立了两个目录/usr/local/redis和/usr/local/redis/6379分别用来存储redis的配置文件和持久化文件。
    首先,将redis.conf复制到/usr/local/redis,并改为6379.conf。同样,如果端口不是6379需要修改为实际使用的端口号。需要注意的是:这里的配置文件的路径需要和初始化脚本redis_init_script的CONF路径要是一致的。然后修改配置,如:
    daemonize改为yes,是redis以守护进程的方式运行;
    如果没有使用默认端口6379,需要将pidfile的属性/var/run/redis_端口号.pid及port属性改为相应的端口。
    还有一个就是dir属性值改为/usr/local/redis/6379,这个是存放指定本地数据库存放目录,即持久化文件用的。
    比较基础的就是这些属性吧。

启动

通过上面的配置后,就可以通过以下命令来启动redis了。

sudo /etc/init.d/redis_6379 start

然后可以通过以下命令验证启动。

redis-cli ping

回应PONG即启动成功。
这里写图片描述

补充一点,如果希望redis随Linux系统启动的话,还需要执行以下如下命令:

sudo update-rc.d redis_6379 defaults

至此,redis通过配置文件启动的相关配置就完成了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值