Redis服务之常用配置(一)

栏目: IT技术 · 发布时间: 4年前

内容简介:上一篇博客聊了下redis的简介以及redis的yum安装和源码编译安装需要注意到问题,回顾请参考yum安装的redis默认版本是3.2.12,默认配置文件就是/etc/redis.conf;默认配置文件大概可以分如下段配置提示:默认配置文件分了14个配置段,每个配置段都有相应的指令;

上一篇博客聊了下 redis 的简介以及redis的yum安装和源码编译安装需要注意到问题,回顾请参考 https://www.cnblogs.com/qiuhom-1874/p/13378138.html ;今天我们来对redis的配置文件相关资料和配置的使用和说明;

yum安装的redis默认版本是3.2.12,默认配置文件就是/etc/redis.conf;默认配置文件大概可以分如下段配置

[root@node1 ~]# grep "^###" /etc/redis.conf 
################################## INCLUDES ###################################
################################## NETWORK #####################################
################################# GENERAL #####################################
################################ SNAPSHOTTING  ################################
################################# REPLICATION #################################
################################## SECURITY ###################################
################################### LIMITS ####################################
############################## APPEND ONLY MODE ###############################
################################ LUA SCRIPTING  ###############################
################################ REDIS CLUSTER  ###############################
################################## SLOW LOG ###################################
################################ LATENCY MONITOR ##############################
############################# EVENT NOTIFICATION ##############################
############################### ADVANCED CONFIG ###############################
[root@node1 ~]#

提示:默认配置文件分了14个配置段,每个配置段都有相应的指令;

INCLUDE相关配置指令

Redis服务之常用配置(一)

提示:很多开源软件都支持include这个指令,把某个目录下的文件导入到指定位置做配置文件的方式(最常见的就是把某个目录下的以点conf结尾的文件导入到当前位置);以上红框中的内容表示把/usrlocal/reds/conf.d/test.conf文件都导入到此处;这里需要注意一点redis好像不支持以模式匹配的方式导入多个文件,必须单个导入,除此之外导入的文件必须得存在可访问;对于include指令放在哪个位置,需要自行定义,因为include以下的配置文件如果和include指定的文件配置有重复,以include之下的内容为准;也就说导入配置会覆盖导入配置之前的配置;

NETWORK相关配置指令

bind:该指令用于指定redis监听的ip地址,默认情况redis监听在本机的127.0.0.1这个回环地址上;

Redis服务之常用配置(一)

提示:bind支持绑定多个ip地址,绑定多个ip地址,每个ip地址分别用空格隔开即可;如果想要监听在本机所有地址,可以写成bind 0.0.0.0或者注释bind指令,但是主注释bind指令对于开启了保护模式,虽然监听在本机所有地址,也能够连接redis,但是没法做任何操作;以上配置表示让redis监听在本机的127.0.0.1 和192.168.0.41这两个ip地址上;

验证:重启reids看看我们配置的地址是否处于监听状态?

Redis服务之常用配置(一)

protected-mode:该指令用于指定是否开启保护模式;所谓保护模式就是如果redis在没有配置密码,也没有配置bind地址,即便监听在本机的所有地址,远程客户端是可以连接到redis,但是没法正常使用;yes表示开启保护功能;no表示不开启此功能;

Redis服务之常用配置(一)

提示:以上配合表示开启保护模式,这也就意味着,如果我们在配置文件中如果没有配置bind监听地址和设置密码,那么redis是不能被远程连接够使用的;

验证:把redis的bind指令注释掉,然后重启服务,使用另一台客户段连接192.168.0.41,看看是否可以用?

Redis服务之常用配置(一)

提示:注释掉bind指令,重启redis后,默认后监听在本机所有地址上;

测试:本机是否可连接使用redis?

Redis服务之常用配置(一)

提示:本机上可以正常连接和使用redis

非本机客户端是否可以连接使用呢?

Redis服务之常用配置(一)

提示:可以看到用非本机客户端是可以正常连接到redis,但是没有办法执行命令,它告诉我们redis开启了保护模式,解决上面的报错,可以把保护模式关闭了(关闭保护模式可以使用CONFIG SET protected-mode no 这种就是在终端直接使用命令关闭(非当前终端,可以使用本机连接的终端上使用);第二中方式就是在配置文件中把protected-mode 配置成no,然后重启redis;第三种是停掉当前redis,启动时加上--protected-mode no选项启动;),其次就是给redis设置一个密码或者启动bind指令监听一个可用地址即可;

测试:在本机上使用连接redis-server的方式在终端命令行中使用CONFIG SET protected-mode no命令关闭保护模式

Redis服务之常用配置(一)

提示:可以看到在本机连接终端上执行CONFIG SET protected-mode no 命令后,在非本机连接的客户端终端就可以操作red

port:该指令用于指定redis TCP套接字监听端口,默认是6379;如果使用0 表示不监听tcp套接字

Redis服务之常用配置(一)

提示:以上配置表示redis使用TCP套接字的6380端口对外提供服务;

验证:重启redis服务,看看对应6380端口是否处于监听状态,redis-cli 是否可以连接6380使用redis?

Redis服务之常用配置(一)

提示:重启服务6380端口正常监听,用redis-cli也是可以正常连接访问redis;这里需要注意用-p指定端口需要有空格;

tcp-backlog:该指令用于指定TCP三次握手的时候 server 端收到 client ack 确认号之后的队列值默认是511;通常会这个选项不需要我们去额外的更改,用默认的511是可以的;

unixsocket:该指令用于指定本地使用unix socket 方式连接时监听的UNIX SOCKET文件路径;

unixsocketperm:该指令用于指定UNIX SOCKET文件的权限;

示例:启用UNIX SOCKET

Redis服务之常用配置(一)

验证:重启redis服务,然后使用unix socket方式连接本机redis

Redis服务之常用配置(一)

提示:redis-cli命令 -s选项用于指定socket文件路径;从上面的测试可以看到,重启redis后,在对应目录下就生成了在配置文件中我们指定的名称的sock文件;用redis-cli客户端软件使用/tmp/redis.sock文件连接redis也是可以正常操作redis;

timeout:该指令用于指定客户端和 Redis 服务端的连接超时时间,默认是 0,表示永不超时。

tcp-keepalive:该指令用于指定tcp连接的会话保持时间,默认配置是300秒。

GENERAL相关配置指令

daemonize:该指令用于指定是否让redis运行为后台守护进程运行,默认是no;如果你想让它在后台运行,你就把它改成yes,当 redis 作为守护进程运行的时候,它会写一个 pid 到 /var/run/redis.pid 文件里面;

示例:配置redis运行为后台守护进程

Redis服务之常用配置(一)

验证:重启redis,看看是否能够运行为后台守护进程?

Redis服务之常用配置(一)

提示:可以看到我们不用systemctl 去运行redis也可以让redis运行为后台,并且使用redis-cli工具也可以正常连接redis对它进行操作;

supervised:该指令用于指定redis操作系统相关参数,默认是no;可以设置通过 upstart 和 systemd 管理 Redis 守护进程,centos 7以后都使用 systemd;

pidfile:该指令用于指定redis pid文件;默认是/var/run/redis_6379.pid;

Redis服务之常用配置(一)

提示:我这边测试不管是编译还是yum安装,它默认能够启动起来,但是在/var/run/目录下就找不到对应redis的pid文件;后续看了下目录的权限,发现用root启动redis在对应目录下就能创建pid文件,普通用户就不行;

验证:启动reids,在/var/run/目录下看看是否有redis_6379.pid文件?

Redis服务之常用配置(一)

提示:可以看到redis启动了,但是没有找到pid文件;大概是权限的问题吧;

验证:把/var/run/目录添加一个redis用户可以写的权限,然后重启redis,看看对应目录下是否可生成pid文件?

Redis服务之常用配置(一)

提示:可以看到,当我们给对应目录增加了acl权限以后,重启redis,pid文件就生成了;对于这种,建议还是单独建立一个目录,把权限都给redis用户,然后配置pidfile 指向新建的目录;

loglevel:该指令用于指定redis日志的级别,默认是notice级别;

logfile:该指令用于指定redis日志文件路径;默认是/var/log/redis/redis.log;

syslog-enabled:该指令用于指定是否启用syslog记录redis日志;默认是no,不启用;

syslog-ident:该指令用于指定syslog的标识,默认是redis

syslog-facility:该指令用于指定使用syslog的那个设施来记录redis日志;默认是local0

示例:开启rsyslog记录redis日志

Redis服务之常用配置(一)

提示:以上配置是在redis上开启了让rsyslog记录日志,把redis的日志发送到local0这个设施上;

在rsyslog中定义local0把日志记录到某个文件中

Redis服务之常用配置(一)

提示:以上配置是表示把local0这个设施上的任何级别日志都记录到/tmp/test.log中;

验证:重启rsyslog和redis 看看/tmp/test.log中是否记录redis的日志?

Redis服务之常用配置(一)

提示:可以看到重启了rsyslog和redis后在/tmp/test.log中就记录了redis的启动日志信息;

Redis服务之常用配置(一)

提示:其实默认情况redis rsyslog会把系统上的info级别以上的日志都记录到/var/log/messages这个文件中,所以我们启动redis可以在/var/log/messages这个文件中看到redis的日志,也可以在/var/log/redis/redis.log中看到redis的日志;通常情况不建议让redis的日志写多份,建议还是用logfile指定日志文件,然后不启用rsyslog;

databases:该指令用于指定redis的数据库数量;默认人库是0;就是说这个指令指定的值可以限定redis最大能有多少个数据库,默认情况redis最大支持16个库;当然如果16个库少了,我们可以通过调整databases的值,来调大支持的数据库数量;

示例:默认不更改databases的值,连接数据库,用select命令看看最大能够切换到那个库?

Redis服务之常用配置(一)

提示:redis里的数据库都是以数字命名的,不像 mysql 里的可以用字符串命名;select命令是用于切换数据库,类似mysql里的use命令;从上面的信息可以看到,我们在配置文件中指定databases为16,客户端连接redis最大也只能切换到15号库,这是因为redis数据库是从0号库开始的;


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Visual LISP程序设计

Visual LISP程序设计

李学志 / 清华大学 / 2006-5 / 29.00元

本书系统地介绍了AutoCAD最新版本(2006)的Visual LISP程序设计技术。全书共分13章。前3章介绍AutoLISP语言的基础知识,第4章介绍Visual LISP的开发环境,第5~7章介绍程序的编辑、调试和设计的方法与技巧,第8章介绍如何定义新的AutoCAD命令及创建图层、线型、文字样式、剖面线、尺寸标注等各种AutoCAD对象,以及如何实现参数化图形设计的方法和技术,第9章介绍......一起来看看 《Visual LISP程序设计》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具