Redis知识点
admin
2023-06-06 22:01:57
0次

1、关于配置文件

redis启动如果不显式地指定配置文件,则默认不使用任何配置文件,而是使用它自己的默认配置。所以,如果修改了配置文件的内容,但若启动时没有显式地指定它,则对它的修改不会有任何效果。

 

如果redis_6379里配置文件是/etc/redis/6379.conf,则使用redis-server /etc/redis/6379.conf启动,与使用/etc/init.d/redis_6379start启动是启动的同一个实例。

 

vim /etc/init.d/redis_6379

 

#!/bin/sh
#Configurations injected by  install_server below....
 
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis_6379.pid
CONF="/etc/redis/6379.conf"
REDISPORT="6379"

2、Redis复制

(1)在同一台主机的不同实例之间实现复制:只需在slave实例的配置文件中,添加:

slaveof master_ip master_port

就可以了;

(2)在不同主机之间实现复制:除了实现(1)中的配置之外,还需要:

A.在master的配置文件中注释掉监听地址 bind一行

B.将protected-mode的值由yes改为no(仅限没有设置bind并且没有设置密码的时候)


设置密码:

在配置文件中加入

requirepass redis

以上“redis”即为密码。保存后重启master的服务。

[root@host103 ~]# /etc/init.d/redis_6379 restart
Stopping ...
Redis stopped
Starting Redis server...
[root@host103 ~]# redis-cli -p 6379 info
NOAUTH Authentication required.
[root@host103 ~]# redis-cli -p 6379
127.0.0.1:6379> keys * 
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth redis
OK
127.0.0.1:6379> keys *
1) "c"
2) "d"
3) "a"
4) "b"
5) "e"

在master设置密码之后,slave是无法与其进行同步的,此时要修改slave的配置文件:

slaveof 127.0.0.1 6379

# If the master is password protected (using the "requirepass" configuration
# directive below) it is possible to tell the slave to authenticate before
# starting the replication synchronization process, otherwise the master will
# refuse the slave request.
#
# masterauth 

masterauth redis

保存并重启slave服务。


遇到的一个问题:

在虚拟机不同主机(192.168.1.111和192.168.1.112)之间配置redis复制,slave端已经加入“slaveof Redis知识点192.168.1.111 6378”,并且在master注释掉bind,但无法实现复制,在slave上显示:

redis-cli -p 6379 info


Redis知识点

查看slave端的日志:

tail -n200 /var/log/redis_6379.log


Redis知识点

 在112上运行如下命令:

[root@host112 log]# telnet 192.168.1.111 6379

有如下结果:

[root@host112 log]# telnet 192.168.1.111 6379

Trying 192.168.1.111...

Connected to 192.168.1.111.

Escape character is '^]'.

-DENIED Redis is running in protected mode because protected mode is enabled, no bind address was specified, no authentication password is requested to clients. In this mode connections are only accepted from the loopback interface. If you want to connect from external computers to Redis you may adopt one of the following solutions: 1) Just disable protected mode sending the command 'CONFIG SET protected-mode no' from the loopback interface by connecting to Redis from the same host the server is running, however MAKE SURE Redis is not publicly accessible from internet if you do so. Use CONFIG REWRITE to make this change permanent. 2) Alternatively you can just disable the protected mode by editing the Redis configuration file, and setting the protected mode option to 'no', and then restarting the server. 3) If you started the server manually just for testing, restart it with the '--protected-mode no' option. 4) Setup a bind address or an authentication password. NOTE: You only need to do one of the above things in order for the server to start accepting connections from the outside.

Connection closed by foreign host.


参考http://arui.me/index.php/archives/151/

将master的这一项protected-mode由yes改为no,就可以正常实现复制了。该参数是3.2版本之后加入的新特性。


(未完待续)

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...