redis安装好后,执行src/redis-server命令启动redis,我们会发现屏幕上会有日志输出,并且当前会话被redis给阻塞了,如果按CTRL+C的话redis进程也会停止。
如何让redis后台运行并指定日志文件呢?
1、配置后台运行
只要在redis.conf中,将
daemonize no
修改为
daemonize yes
即可。
当以后台运行的方式启动redis,redis会生成一个pid文件,redis.conf中可以设置pid文件的位置。
pidfile var/run/redis_6379.pid
当redis进程关闭时,redis会删除这个pid文件。
2、指定日志文件和日志级别
在redis.conf中,将
logfile ""
修改为
logfile var/log/redis.log
即可。
logfile默认为空字符串。如果是空字符串,则使用标准输出;如果是空字符串且是后台运行,则日志被发送到/dev/null。
在类Unix系统中,/dev/null称为空设备或黑洞,是一个特殊的设备文件,它丢弃一切写入其中的数据,但报告写入操作成功。
另外,我们可以指定日志级别。
在redis.conf中配置
loglevel warning
即可。日志级别从低到高分别为:debug、verbose、notice、warning。
3、停止redis
一般地,在linux系统中可以使用kill命令杀死进程,然而当redis正在从内存往磁盘持久化数据时,如果此时突然强制杀死进程,就会导致数据丢失。因此我们应该合理关闭redis。
可以在redis客户端执行shutdown命令关闭redis。
./redis.cli shutdown
shutdown命令后可跟save或nosave参数,表示是否保存数据。
当redis收到客户端的shutdown命令时,首先会断开客户端连接,然后会往磁盘保存数据,最后再停止进程。
如下图,是redis收到shutdown命令后的一段日志。
4、运行时修改配置
可以在启动时命令行中指定配置
src/redis-server redis.conf --loglevel verbose
redis运行时可以在客户端执行如下命令读写运行时配置。
config get loglevel
config set loglevel notice(不是所有命令都支持运行时修改配置)
5、redis设置密码
这个比较简单,只需要在redis.conf中增加如下配置项即可。
requirepass ok
那redis客户端如何登录设置了密码的redis服务端呢?答案是使用auth命令,如下图所示。