获取远程redis服务器上的值

环境:
两台虚拟机,ip分别为:192.168.2.100 、192.168.2.101
100 为 主,101为从。
redis 安装目录 /usr/local/redis-3.2.0  , redis-server,redis-cli 在 /usr/local/redis-3.2.0/src下
100 机器上有个 key为name ,value 为 11111的值。


遇到的问题:

一、100 直接使用 redis-server 启动 采用默认的配置文件
1、在 101上 通过 redis-cli -h 192.168.2.100 -p 6379 连接成功后,使用而 get name 出现

(error) 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.

可以通过在 100 机器的redis-cli 命令中 使用 CONFIG SET protected-mode no 后,在执行 get name 就可以获取值。但在100重启后就不行了。


二、100通过 $ /usr/local/redis-3.2.0# src/redis-server ./redis.conf 启动 redis ,不修改 redis.conf任何内容。
1、在 101上 使用 redis-cli -h 192.168.2.100 -p 6379 出现
Could not connect to Redis at 192.168.2.100:6379: Connection refused
注释掉 100上的 redis.conf 中的 bind 127.0.0.1 ,后可以连接。

2、可以连接后执行 get name 后出现上面1.1的问题。
修改100上的 redis.conf 中的  protected-mode,把 yes 改为 no,重启redis,后就可以获取到值了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 如果你想在本机上使用 Redis 服务器,但是它不在本机上,那么你需要使用远程连接来访问它。这意味着你需要知道 Redis 服务器的 IP 地址和端口号,然后使用客户端软件连接到该地址。 具体来说,你可以使用 redis-cli 命令来连接到远程 Redis 服务器。例如,如果你想连接到 IP 地址为 192.168.1.100、端口号为 6379 的 Redis 服务器,你可以运行以下命令: `redis-cli -h 192.168.1.100 -p 6379` 在连接成功后,你就可以使用 Redis 命令来操作远程服务器上的数据了。 希望这能帮到你! ### 回答2: 要连接远程Redis服务器,需要进行以下步骤: 1. 确保远程服务器Redis服务正常运行,并具有可以远程连接的配置。 2. 在本机上安装Redis客户端,例如Redis-cli或者通过代码使用Redis库。 3. 要连接远程服务器,需要知道远程服务器的IP地址和端口号。可以向服务器的管理员或者运维人员询问这些信息。 4. 打开本机上的终端或命令提示符,输入以下命令来连接到远程服务器redis-cli -h [远程服务器IP地址] -p [远程服务器端口号] 例如: redis-cli -h 192.168.1.100 -p 6379 5. 如果使用代码连接到远程服务器,需要使用相应语言的Redis库,并将远程服务器的IP地址和端口号作为参数传递给连接函数。 6. 一旦成功连接到远程Redis服务器,就可以执行各种Redis命令,例如获取、设置、删除数据,以及执行其他操作。 需要注意以下事项: - 需要确保远程服务器的网络连接正常,能够在本机上进行访问。 - 在连接远程服务器时,要输入正确的IP地址和端口号,否则将无法连接或连接到错误的服务器。 - 如果远程服务器设置了密码,还需要在连接时提供密码信息。 总之,通过正确配置Redis服务器和本机的连接参数,可以在不同的机器上连接和使用Redis服务。 ### 回答3: 将Redis服务器部署在本机以外的机器上,需要进行以下步骤: 1. 安装Redis服务器:在外部机器上安装Redis服务器,可以从Redis官方网站下载安装包,或者通过包管理器(如apt、yum)安装。按照相应的安装指南进行部署。 2. 配置Redis服务器:打开Redis配置文件,可以通过命令“sudo vi /etc/redis/redis.conf”来编辑。在配置文件中,需要将bind属性设置为服务器的IP地址,以允许来自其他主机的访问。另外,还可以根据实际需求调整其他设置,如密码验证、端口号等。 3. 配置防火墙:如果外部机器有防火墙,需要配置防火墙以允许Redis服务器的访问。根据不同的操作系统和防火墙软件,具体配置方法会有所不同。通常,需要打开Redis服务器所使用的端口(默认为6379)以及可能涉及到的其他端口。 4. 启动Redis服务器:通过命令“sudo systemctl start redis”或“redis-server /path/to/redis.conf”启动Redis服务器。可以通过“sudo systemctl status redis”来查看服务器的运行状态,确保服务器已成功启动。 5. 连接到外部Redis服务器:在本机的应用程序中,将Redis连接配置修改为外部Redis服务器的IP地址和端口号。可以使用Redis的客户端库来与服务器进行通信,如redis-py、jedis等。 6. 测试连接:在本机上运行应用程序,通过连接到外部Redis服务器进行存取数据的操作来测试连接是否成功。可以使用Redis的基本操作命令(如GET、SET、DEL等)进行测试。 通过上述步骤,可以将Redis服务器部署在本机以外的机器上,并通过网络连接进行数据存取操作。需要注意的是,由于网络延迟等因素的存在,外部Redis服务器的性能可能会受到影响,因此在进行具体应用部署时需要进行相关的性能测试和调优。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值