使用redis-py(redis的Python封装)与远程redis服务器通信

5
我已经在独立的数据库服务器(ec2实例)上安装了redis,并且已经正确地安装和配置。现在我想做的就是从我的Web服务器连接到它,并对其键值存储进行更改。
我在Heroku上运行一个Python/Django应用程序,并为其他所有内容使用PostgreSQL,我只是使用redis来存储一些临时变量在KV集合中。
现在,我在我的本地服务器和Web服务器上安装https://github.com/andymccurdy/redis-py
为了测试连接并检查事情是否正常工作,在我的环境中尝试以下操作:
>>> pool = redis.ConnectionPool(host='MY_DBSERVER_IP_ADDRESS', port=6379, db=0)
>>> r = redis.Redis(connection_pool=pool)
>>> r.set('foo', 'bar')

这给我一个错误 - ConnectionError: Error 111连接54.235.xxx.xxx:6379时出错。连接被拒绝。

我该如何连接?我缺少什么?


尝试通过telnet查看是否可以访问远程服务器:只需在终端中执行“telnet MY_DBSERVER_IP PORT”。 - Oin
ping xxx.xxx.xxx.xxx 6379 PING 6379 (0.0.24.235) 56(124) bytes of data. ^C --- 6379 ping 统计 --- 已发送 32 个数据包,收到 0 个,丢失 100% ,耗时 31081ms - user1629366
那就是你的问题。 - Oin
2个回答

6

默认情况下,配置设置为仅绑定到 127.0.0.1。您只需要找到您的配置文件(在 Ubuntu 上是 /etc/redis/redis.conf),并注释掉 bind 127.0.0.1 行。


3

所以我最终做的是,将未注释的bind 127.0.0.1改为bind 0.0.0.0


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接