IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

Redis服务之常用配置(一)

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

  上一篇博客聊了下redis的简介以及redis的yum安装和源码编译安装需要注意到问题,回顾请参考https://tech.souyunku.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相关配置指令

57_1.png

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

  NETWORK相关配置指令

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

57_2.png

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

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

57_3.png

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

57_4.png

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

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

57_5.png

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

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

57_6.png

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

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

57_7.png

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

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

57_8.png

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

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

57_9.png

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

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

57_10.png

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

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

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

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

  示例:启用UNIX SOCKET

57_11.png

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

57_12.png

  提示: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运行为后台守护进程

57_13.png

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

57_14.png

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

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

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

57_15.png

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

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

57_16.png

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

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

57_17.png

  提示:可以看到,当我们给对应目录增加了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日志

57_18.png

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

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

57_19.png

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

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

57_20.png

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

57_21.png

  提示:其实默认情况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命令看看最大能够切换到那个库?

57_22.png

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

文章永久链接:https://tech.souyunku.com/?p=37007


Warning: A non-numeric value encountered in /data/wangzhan/tech.souyunku.com.wp/wp-content/themes/dux/functions-theme.php on line 1154
赞(93) 打赏



未经允许不得转载:搜云库技术团队 » Redis服务之常用配置(一)

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码
IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

评论 抢沙发

大前端WP主题 更专业 更方便

联系我们联系我们

觉得文章有用就打赏一下文章作者

微信扫一扫打赏

微信扫一扫打赏


Fatal error: Uncaught Exception: Cache directory not writable. Comet Cache needs this directory please: `/data/wangzhan/tech.souyunku.com.wp/wp-content/cache/comet-cache/cache/https/tech-souyunku-com/index.q`. Set permissions to `755` or higher; `777` might be needed in some cases. in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php:367 Stack trace: #0 [internal function]: WebSharks\CometCache\Classes\AdvancedCache->outputBufferCallbackHandler() #1 /data/wangzhan/tech.souyunku.com.wp/wp-includes/functions.php(5109): ob_end_flush() #2 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(303): wp_ob_end_flush_all() #3 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(327): WP_Hook->apply_filters() #4 /data/wangzhan/tech.souyunku.com.wp/wp-includes/plugin.php(470): WP_Hook->do_action() #5 /data/wangzhan/tech.souyunku.com.wp/wp-includes/load.php(1097): do_action() #6 [internal function]: shutdown_action_hook() #7 {main} thrown in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php on line 367