问题标签 [redis-cluster]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1422 浏览

scala - 我需要一个用于 redis 集群的 scala 客户端库

我在启用集群模式的 Amazon Eleasticache 中创建了一个 redis。我有一个 scala 客户端(scala-redis)但是这个客户端在正常模式下工作正常(集群禁用模式)但在集群模式下不工作。我收到 MOVED 12351 127.0.0.1:7000 的错误。我搜索了很多客户端但是我找不到一个支持集群模式的。所以请帮助我克服这个问题。

0 投票
2 回答
717 浏览

redis - Redis 作为自填充缓存

Redis 可以用作自填充缓存(或直通缓存)吗?

换句话说,如果这个条目还没有被缓存,它是否能够动态创建一个条目?

0 投票
2 回答
1051 浏览

amazon-web-services - 在 aws elasticache redis-cluster 中,我们如何查看哪些节点是主节点或副本?

在以下链接:

http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/ClientConfig.ReplicationGroup.html

存在以下内容:

在上面,最右边
有“primary”和“replica”

截至今天,在 aws 控制台中,
当我发出“describe-replication-groups”命令时,
我看不到“主”和“副本”

相反,我看到如下内容:

我尝试了各种命令,找不到。

以什么方式,我可以查看某个分片/节点是否为主/副本的详细信息

提前致谢

0 投票
1 回答
2864 浏览

transactions - 是否有任何 Redis 客户端(首选 Java)支持 Redis 集群上的事务?

我在网上搜索了很多,但找不到提供此功能的成熟 Redis 客户端。只找到了这个项目。有人知道提供上述内容的 Redis 客户端吗?谢谢你。

0 投票
1 回答
281 浏览

redis - 获取“keypattern*”在 Redis 集群中不起作用

在 Redis 环境中,我们熟悉类似的命令

:键 *

: 获取模式

但是这些在集群中不容易工作。

我找到了“keys *”的解决方法(虽然它很慢)。但我坚持“获取模式

根据我的理解,它不起作用的原因是..

每个 redis 节点都使用一种算法来查找任何 key 的哈希值,并且它已经知道哪些哈希块属于哪个节点。因此它将调用(get/set/hmget/.....)重定向到该特定节点。

现在,在模式的情况下,它无法识别 hash 的所有者,直到它获得实际的密钥。

假设键是 xyz,如果我使用 xy*,它的散列是 100,它不可能得到以 xy 开头的键的可能散列列表

我想知道,是否有人可以在这里显示一些亮点,或者我的理解是错误的(如果是的话,我会很高兴)或者是否有任何工具(如 jedis ......)可用,这适合我的要求

谢谢 !

0 投票
1 回答
504 浏览

redis - 如何设置 Redis Cluster Slave 仅用于备份?

我想在 Redis 集群中添加一个新的从属服务器,该集群目前有 3 个主服务器和 3 个从服务器。但是新的slave只用于bgsave,如果master故障转移它就不能成为master,我可以这样做吗?

0 投票
0 回答
878 浏览

redis - 如何连接到另一个网络中的远程 Redis 集群?

Redis 集群是使用内部 IP 地址创建的。

对外连接只有一个公网ip,54.174.xxx.xxx。

连接集群后,重定向出现问题。

看起来 redis 正在要求客户端连接到另一个节点以获取数据。是否可以让当前连接的节点在行为上获取数据?或任何其他解决方案?

至少,我知道 Cassandra 会从另一个节点获取数据以返回而不是重定向。

0 投票
1 回答
357 浏览

c# - c#的Redis异步调用,当每秒有400-500个请求时,使用“DatabaseAsync”会使响应变慢

当我使用:

称呼:call(client => redisInstance.SetMembersAsync(setName))

它工作正常,但是当有很多请求时,“CPU”使用率会增加;

但在第二种情况下:

称呼:call2(async client => await redisInstance.SetMembersAsync(setName))

CPU 没问题,但响应需要很长时间;

关于这个案例的任何想法?第二种方法有什么问题?

0 投票
1 回答
2858 浏览

javascript - 无法从 Docker 容器内部连接到 Redis 集群

我有一个使用这个ioredis javascript 客户端库的 Node 应用程序。我的问题是我无法将这个也是 dockerized 的应用程序连接到我的 Redis 集群(端口 7000 到 7005)及其容器。这是我的设置和结果:

我克隆了这个Docker-redis-cluster repo 并按照说明从Dockerfile.

然而,在构建之前,我唯一的改变是设置我自己的版本,我已经更改为

按照我运行的说明

到目前为止很棒...

除了一些警告,例如:WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.,到目前为止一切都很好。为什么?:

  1. 这是输出的屏幕截图。
  2. 我可以使用进入 CLIredis-cli -c -p 7000
  3. docker inspect [container id]看到它的 NetworkSettings > IPAddress 为 172.17.0.2 并且在 NetworkSettings > Ports 我看到

    /li>

接下来,我停止并删除所有容器。我导航到我的 web 应用程序的根目录,其中我有 aDockerfile和 adocker-compose.yml在这里:

码头工人-compose.yml

Dockerfile

连接.js

然后我跑

输出在这个gist中。对于这个例子,我从那里删除了一些不相关的行(用“...”表示)。

如果有什么不同,我的应用程序是从这个 React-redux样板构建的,但它不包含 Redis。

完整性检查

  1. 正如您在要点中看到的那样,随着docker-compose up运行和错误不断记录,当我执行时,我仍然可以从容器外部连接到集群:

    /li>
  2. $ docker ps显示此屏幕截图

  3. $ docker exec 4b3ec3e53e32 ps aux | grep redis显示此屏幕截图

  4. 这是 redis 容器的完整输出$ docker inspect 4b3ec3e53e32注意"IPAddress": ""NetworkSettings...

进一步的问题

  1. ...为什么现在是空白的?这就是我的 Redis 客户端无法连接到集群的原因吗?
  2. 那个ip和那个ip有什么区别"HostIp": "0.0.0.0",0.0.0.0绑定在配置中redis.conf,我认为这意味着服务器只会监听来自该地址的请求。这是否意味着那里列出的 IP 必须与我的其他ctn_web_1容器的 ip 匹配?
  3. 我们还从输出中看到docker-compose upRedis 服务器在172.18.0.2. 我注意到这在我运行的实例之间也发生了很大变化(例如172.18.0.4, ) 。为什么?是因为我在再次运行之前还没有完全删除容器吗?但是,我不应该在我的代码中使用这个 IP 地址,因为这个地址在 redis 容器内部(而我的 web 容器感兴趣的接口是 redis 容器的地址)?172.18.0.3docker-composeconnect.js

更新

A.$ docker-compose ps输出在这里。B. 还要注意这个问题。更具体地说,

redis 集群还不支持 docker(除非你做主机网络)->广告的 ip 地址将不同于他们可以通过的地址

0 投票
2 回答
1084 浏览

redis - 如何使用hset将数据存储在redis集群的不同节点中?例如。hset 用户名1 aa name2 bb

我正在使用 redis 使用 HSET 存储一些键/值。这是我正在使用的示例命令。

我会尝试redis集群,如何保持数据存储在不同的节点?