小编The*_*ill的帖子

Redis - 连接到远程服务器

我刚刚使用我的Ubuntu 10.10服务器上http://redis.io/topics/quickstart上的快速入门指南中的说明成功安装了Redis .我正在以dameon运行服务(因此可以通过init.d运行)

该服务器是具有内部和外部IP的Rackspace Cluster的一部分.主机在端口6379上运行(Redis的标准)

我在iptables中添加了一行以允许来自端口6379的传入连接,如下所示:

 ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:6379 
Run Code Online (Sandbox Code Playgroud)

在我在另一台服务器上的PHP代码中,我正在尝试连接到新的Redis服务器:

$this->load->helper("iredis");

$hostname = "IP ADDRESS HERE";

$redis = new iRedis(array('hostname' => $hostname, 'port' => 6379));
Run Code Online (Sandbox Code Playgroud)

一旦我这样做 - 我总是拒绝连接.在我的redis.conf文件中,我将本地绑定命令注释掉,因此它应该监听的不仅仅是本地主机IP.我可以连接到本地计算机上的数据库,而不是在另一台服务器上.我已经尝试过外部和内部IP而没有运气.

有关使此工作的任何建议?

ubuntu configuration redis

111
推荐指数
4
解决办法
15万
查看次数

Twemproxy只连接一个redis实例

我在我的服务器上运行3个redis-server实例,实例有不同的配置文件和db文件.例如:redis1将db位置设置为/ var/lib/redis_1,redis2将db位置设置为/ var/lib/redis_2.我有twemproxy配置:

alpha:                                                                                                                                      
  listen: 0.0.0.0:9999
  redis: true
  hash: fnv1a_64
  distribution: ketama
  auto_eject_hosts: true
  server_retry_timeout: 2000
  server_failure_limit: 2
  servers:
   - 127.0.0.1:6381:1
   - 127.0.0.1:6382:1
   - 127.0.0.1:6383:1

我启动了3个redis实例,并将数据"name"分别设置为redis-cli的不同值.例如:我将名称设置为"6381"到第一个服务器,将"6382"设置为第二个服务器.我打开db文件dump.rdb,看到3个数据值,然后启动twemproxy.

当我用redis-cli连接twemproxy并读取"name"键时,它总是返回"6382".如果我使用不同的客户端连接到它,值仍然是相同的.如果我直接在Redis instabces中更改值,或者对twemproxy实例执行任何其他操作,我发现更改只更新到第二个db文件/var/lib/redis_2/dump.rdb.

为什么twemproxy不能与3个redis-server实例一起使用?我的配置有什么问题吗?

redis twemproxy

0
推荐指数
1
解决办法
2480
查看次数

标签 统计

redis ×2

configuration ×1

twemproxy ×1

ubuntu ×1