开发者社区> 异步社区> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

《Redis入门指南(第2版)》一2.2 启动和停止Redis

简介:
+关注继续查看

本节书摘来异步社区《Redis入门指南(第2版)》一书中的第2章,第2.2节,作者: 李子骅 责编: 杨海玲,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.2 启动和停止Redis

安装完Redis后的下一步就是启动它,本节将分别介绍在开发环境和生产环境中运行Redis的方法以及正确停止Redis的步骤。

在这之前首先需要了解Redis包含的可执行文件都有哪些,表2-1中列出了这些程序的名称以及对应的说明。如果在编译后执行了make install命令,这些程序会被复制到/usr/local/bin目录内,所以在命令行中直接输入程序名称即可执行。


b2_1

我们最常使用的两个程序是redis-server和redis-cli,其中redis-server是Redis的服务器,启动Redis即运行redis-server;而redis-cli是Redis自带的Redis命令行客户端,是学习Redis的重要工具,2.3节会详细介绍它。

2.2.1 启动Redis

启动Redis有直接启动和通过初始化脚本启动两种方式,分别适用于开发环境和生产环境。

1.直接启动
直接运行redis-server即可启动Redis,十分简单:

$ redis-server
[5101] 14 Dec 20:58:59.944 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
[5101] 14 Dec 20:58:59.948 * Max number of open files set to 10032

...

[5101] 14 Dec 20:58:59.949 # Server started, Redis version 2.6.9
[5101] 14 Dec 20:58:59.949 * The server is now ready to accept connections on port 6379

Redis服务器默认会使用6379端口3,通过--port参数可以自定义端口号:

36379是手机键盘上MERZ对应的数字,MERZ是一名意大利歌女的名字。

$ redis-server --port 6380

2.通过初始化脚本启动Redis
在Linux系统中可以通过初始化脚本启动Redis,使得Redis能随系统自动运行,在生产环境中推荐使用此方法运行Redis,这里以Ubuntu和Debian发行版为例进行介绍。在Redis源代码目录的utils文件夹中有一个名为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的运行方式和持久化文件、日志文件的存储位置等,具体步骤如下。

(1)配置初始化脚本。首先将初始化脚本复制到/etc/init.d目录中,文件名为redis_端口号,其中端口号表示要让Redis监听的端口号,客户端通过该端口连接Redis。然后修改脚本第6行的REDISPORT变量的值为同样的端口号。

(2)建立需要的文件夹。建立表2-2中列出的目录。


b2_2

(3)修改配置文件。首先将配置文件模板(见2.4节介绍)复制到/etc/redis目录中,以端口号命名(如“6379.conf”),然后按照表2-3对其中的部分参数进行编辑。


b2_3

2.2.2 停止Redis

考虑到Redis有可能正在将内存中的数据同步到硬盘中,强行终止Redis进程可能会导致数据丢失。正确停止Redis的方式应该是向Redis发送SHUTDOWN命令,方法为:

$ redis-cli SHUTDOWN

当Redis收到SHUTDOWN命令后,会先断开所有客户端连接,然后根据配置执行持久化,最后完成退出。

Redis可以妥善处理SIGTERM信号,所以使用kill Redis进程的PID也可以正常结束Redis,效果与发送SHUTDOWN命令一样。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Day2、我室友打了一把王者时间我学会了Redis的入门指南
Day2、我室友打了一把王者时间我学会了Redis的入门指南
0 0
Redis入门指南
随着互联网业务对性能需求日益强烈,作为Key/Value存储的Redis具有数据类型丰富和性能表现优异的特点。如果能够熟练地驾驭它,不管是把它用做缓存还是存储,对很多大型应用都很多帮助。新浪作为世界上最大的Redis使用者,体会到了Redis为高并发在线业务带来的好处,但同时也遇到了很多挑战,新浪为推动Redis这种NoSQL产品在中国互联网产品技术架构中的使用做出了卓越的贡献。
1117 0
《Redis入门指南》一导读
Redis如今已经成为Web开发社区中最火热的内存数据库之一,而它的诞生距现在不过才4年。随着Web 2.0的蓬勃发展,网站数据快速增长,对高性能读写的需求也越来越多,再加上半结构化的数据比重逐渐变大,人们对早已被铺天盖地地运用着的关系数据库能否适应现今的存储需求产生了疑问。
1426 0
+关注
异步社区
异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
文章
问答
文章排行榜
最热
最新
相关电子书
更多
阿里云Redis容灾体系介绍--夏周
立即下载
阿里云Redis服务助力游戏行业发展--王义成
立即下载
国内开发者与Redis开源社区的发展
立即下载