上一篇博客聊了下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相关配置指令

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

  NETWORK相关配置指令

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

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

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

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

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

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

  提示:注释掉bind指令,重启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命令关闭保护模式

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

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

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

  验证:重启redis服务,看看对应6380端口是否处于监听状态,redis-cli 是否可以连接6380使用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服务,然后使用unix socket方式连接本机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,看看是否能够运行为后台守护进程?

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

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

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

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

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

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

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

  提示:可以看到,当我们给对应目录增加了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上开启了让rsyslog记录日志,把redis的日志发送到local0这个设施上;

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

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

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

  提示:可以看到重启了rsyslog和redis后在/tmp/test.log中就记录了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里的数据库都是以数字命名的,不像mysql里的可以用字符串命名;select命令是用于切换数据库,类似mysql里的use命令;从上面的信息可以看到,我们在配置文件中指定databases为16,客户端连接redis最大也只能切换到15号库,这是因为redis数据库是从0号库开始的;

Redis服务之常用配置(一)的更多相关文章

  1. Redis服务之常用配置(三)

    上一篇博客我们聊了下redis的rdb持久化.安全连接.资源限制相关配置;回顾请参考:https://www.cnblogs.com/qiuhom-1874/p/13394411.html;今天我们来 ...

  2. Redis服务之常用配置(二)

    上一篇博客我们聊了下redis的INCLUDE.NETWORK.GENERAL配置段相关配置和说明,回顾请参考:https://www.cnblogs.com/qiuhom-1874/p/133831 ...

  3. 【centos6】安装redis + phpredis 以及 常用配置参数

    1.redis-server和redis-cli安装文章:http://www.cnblogs.com/skyessay/p/6429988.html 1.前置条件:查看是否安装gcc,命令:gcc ...

  4. Redis安装及常用配置

    Redis安装说明 大多数企业都是基于Linux服务器来部署项目,而且Redis官方也没有提供Windows版本的安装包.因此课程中我们会基于Linux系统来安装Redis. 此处选择的Linux版本 ...

  5. redis配置文件中常用配置详解

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/suprezheng/article/de ...

  6. Redis服务之常用数据类型

    上一篇博客我们聊了下redis的主从复制.aof持久化.集群.慢日志相关配置指令的说明,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13416534.html ...

  7. Mac--管理mysql、redis服务的常用命令

    ##启动MySQL服务 sudo /usr/local/MySQL/support-files/mysql.server start ##停止MySQL服务 sudo /usr/local/mysql ...

  8. 【Azure Redis 缓存】由Azure Redis是否可以自定义密码而引申出Azure PaaS的Redis服务是否可以和自建的Redis进行主从配置呢?

    问题描述 在自建的Redis服务中,可以通过 config set requirepass <Password> 设置Redis的登录密码,然后使用auth 命令输入密码.操作命令如下: ...

  9. Redis下载安装与配置(windows)

    一.Redis下载 Redis官网建议使用Linux进行部署,未提供windows版本的Redis,但微软开发和维护着Windows64版本的Redis. Windows64版本的Redis下载地址: ...

随机推荐

  1. 使用TransferLearning实现环视图像的角点检测——Tensorflow+MobileNetv2_SSD

    环境说明 依赖环境安装eIQ官方指南: name: eiq_auto channels: - conda-forge - defaults dependencies: - numpy=1.18.1=p ...

  2. Markdown小白教学15分钟速成

    第一部分 基础篇 演示第二阶标题 1.1 目录与标题 代码过程 一级标题: 最高阶标题  基础篇 ===== 二级标题: 演示第二阶标题   一 ----- 注意: 这里"="和& ...

  3. HTTPS协议详解(三):PKI 体系

    转自:https://blog.csdn.net/hherima/article/details/52469488 1.RSA身份验证的隐患    身份验证和密钥协商是TLS的基础功能,要求的前提是合 ...

  4. Vmware - 安装并启动 Centos 8

    下载 Linux 安装包 https://mirrors.aliyun.com/centos/8.1.1911/isos/x86_64/ 不同版本的 Centos https://mirrors.al ...

  5. jmeter设置HTTP代理,录制APP脚本

    1.打开jmeter,“工作台”右键——“添加”——“非测试元件”——“HTTP代理服务器” 2.设置端口号,手机需与这里的端口号一致 3.新建线程组,“测试计划”右键——“添加”——“Threads ...

  6. day77 作业

    目录 一.完成todolist案例 二.商品页面 一.完成todolist案例 <!DOCTYPE html> <html lang="en"> <h ...

  7. requests接口自动化2-url里不带参数的get请求

    最常用的是get,post请求,然后是put,delete,其他方法很少用 1. get请求几种方式 1.1.url里不带参数的get请求 接口请求fiddler返回内容: import reques ...

  8. SQLAlchemy03 /外键、连表关系

    SQLAlchemy03 /外键.连表关系 目录 SQLAlchemy03 /外键.连表关系 1.外键 2.ORM关系以及一对多 3.一对一的关系 4.多对多的关系 5.ORM层面的删除数据 6.OR ...

  9. 数据分析03 /基于pandas的数据清洗、级联、合并

    数据分析03 /基于pandas的数据清洗.级联.合并 目录 数据分析03 /基于pandas的数据清洗.级联.合并 1. 处理丢失的数据 2. pandas处理空值操作 3. 数据清洗案例 4. 处 ...

  10. tensorboard学习笔记

    TensorBoard 默认是不会记录每个节点的用时.耗费的内存大小等这些信息的,那么如何才能在图上显示这些信息呢?关键就是如下这些代码,主要就是在 sess.run() 中加入 options 和  ...