上一篇博客聊了下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. dubbo源码解析之负载均衡

    在分布式系统中,负载均衡是必不可少的一个模块,dubbo 中提供了五种负载均衡的实现,在阅读这块源码之前,建议先学习负载均衡的基础知识.把看源码当做一个印证自己心中所想的过程,这样会得到事半功倍的效果 ...

  2. 【UVA11383】 Golden Tiger Claw 【二分图KM算法(板子)】

    题目 题目传送门:https://www.luogu.com.cn/problem/UVA11383 分析 最近刚刚学了二分图,然后来了一个这样的题,看完题意之后,稍微想一想就能想出来是一个二分图,然 ...

  3. 【Xamarin.Forms 3】页面类型

    系列目录 微信 1.[Xamarin.Forms 1]App的创建与运行 2.[Xamarin.Forms 2]App基础知识与App启动 知乎 1.[Xamarin.Forms 1]App的创建与运 ...

  4. Python 实现短信轰炸机

    原理其实很简单,就是利用selenium包打开各种网站的注册页,输入轰炸的号码,实现轰炸.其实也算是利用了注册漏洞.申明:仅娱乐使用,禁止️用于非法用途!若用于非法用途,后果及法律责任博主一律不承担 ...

  5. 服务认证(JWT)

    上一篇已经讲了微服务组件中的 路由网关(Zuul),但是未介绍服务认证相关,本章主要讲解基于Spring Security 与 JJWT 实现 JWT(JSON Web Token)为接口做授权处理… ...

  6. abp + vue 模板新建页面

    新建页面 创建按对应的模块和实体 新建的模块需要进行注册

  7. VScode 配置c/c++环境(结合各大网站的blog和官方文档)

    第一步:下载mingw64 首先,在各大搜索引擎上搜索mingw64,进入其官网下载即可 需要注意的是,下载默认的是先从网页上下载下载器,再进行选择下载.但是在部分电脑上下载会出现什么mingw64. ...

  8. 状压DP之互不侵犯

    题目描述 这里 在\(N*N\) 的棋盘里面放\(k\)个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子. 输入格式 只有 ...

  9. salesman,动态规划带一点点贪心。

    题目直接链接 分析一下: 这题题意还是比较明白的(少见的一道中文题),他的意思就是:有这么一个无向图:保证联通且点与点直接有唯一的简单路径(说白了就是棵树,根节点是1),每个节点有一个权值(有正有负) ...

  10. MySQL常规操作

    数据库的相关概念 一.数据库的好处 1.可以持久化数据到本地 2.结构化查询 二.数据库的常见概念 ★ 1.DB:数据库,存储数据的容器 2.DBMS:数据库管理系统,又称为数据库软件或数据库产品,用 ...