问题标签 [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 回答
1091 浏览

bash - 无法启动 Redis 集群服务器

我正在尝试通过打开端口 7000 到 7005 的 6 个服务器来启动Redis 集群redis.conf服务器,每个服务器在我的 macOS Sierra 上都有自己的目录。我可以很好地启动第一台服务器(6台服务器中的任何一台),这是输出cliinfo中的:这是我使用redis 3.2.1运行的其中一个命令的示例

但开始另一个会给出这个错误:

遵循文档,我将每个 redis.conf 配置为此及其相应的端口号

这曾经对我有用。我不确定它是否相关,但从那以后我将这些文件构建到 Docker 映像和容器中。但是,据我所知,我已经删除了它们,还有这个文件:/Users/MyUserAccount/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux

我也只是删除了所有目录并在不同的目录中重新创建它们,但它仍然不起作用。我该怎么做才能让这些端口再次可用于 Redis 集群?


更新:

此外,我的nodes.conf文件没有在任何端口文件夹中重新创建,并且所有这些文件夹都只有 redis.conf 文件。在它工作之前,有一个nodes.conf与其他 2 个文件一起生成的文件(我认为是一个转储文件和一个其他文件)。

0 投票
1 回答
904 浏览

redis - redis instantaneous_ops_per_sec 高于实际吞吐量

我们使用 Redis 作为队列,平均约~3k rps。但是当我们检查 instantaneous_ops_per_sec 时,该值始终高于预期,大约高出 20%,在这种情况下,每秒报告约 4k 次操作。

为了验证这一点,我对 MONITOR 进行了大约 10 秒的转储,并检查了传入命令的数量。

其中 1489722862 是时间戳。甚至这个计数也与队列中正在生成的内容以及从队列中消耗的内容相匹配。这是一个主从 redis 集群设置。instantaneous_ops_per_sec是否也考虑从读取?如果不是,那么这个计数明显更高的另一个原因是什么?

0 投票
1 回答
1030 浏览

redis - Redis Cluster:是否可以从不同的键中获取一个哈希槽?

正如我从 Redis 集群教程中了解到的,集群只有 16384 个插槽(0 - 16383)。哈希槽通过以下命令计算:CRC16 (KEY) mod 16384. 因此,例如某些 key equals16385和 hash slot 的 CRC16 将是1. 对于另一个关键 CRC16 等于32769和哈希槽将再次1。会不会引起一些冲突?还是第一个会被第二个重写?

0 投票
0 回答
1026 浏览

session - 同步两个 Redis 服务器实例

我有 2 个 redis 服务器实例,每个实例都在不同的服务器中。每个实例都连接到一个 Web 应用程序。当我登录到第一个应用程序时,它将在其服务器中存储一个到 redis 的会话。我想在第二个应用程序中使用这个会话。每次其中一个获得新数据时,如何将确切的会话复制到另一个 redis 服务器?它是由应用程序处理还是由redis自己处理?

注意:当 Redis Server A 有新数据时,它会将其传输到 Redis Server B,当 Redis Server B 有新数据时,它会将其传输到 Redis Server A。

0 投票
4 回答
6363 浏览

redis - 无法向 Redis 集群添加值 - 集群已关闭

我有 4 个节点,3 个是主节点,其中 1 个是从节点。我正在尝试通过添加一个简单的字符串set foo bar,但是每当我这样做时,我都会收到此错误:

以下是我的集群信息

我正在使用Redis-x64-3.0.503。请让我知道如何解决这个问题

集群节点:

0 投票
3 回答
1347 浏览

cassandra - 在带有索引的内存数据库中寻找开源

我们正在寻找可以支持索引的内存数据库中的开源。

用例是我们有很多项目将大幅增长。每个项目都有一些我们需要查询的字段。目前我们将数据存储在应用程序的内存中。然而,随着数据的增加,我们必须考虑分发/分片数据库。

我们已经研究了几个选项

  1. 可以使用Redis 集群,但它没有索引或类似 SQL 的查询的概念。

  2. Apache Ignite既是内存中的,又是分布式的,并提供 SQL 查询。但是,问题是 ignite 会将所有查询触发到所有主节点,因此最终结果将比那些查询中最慢的查询慢。这似乎是一个问题,因为许多节点中的一个非执行/慢速节点确实会大大降低应用程序的速度。此外,在 ignite 中,读取是从 master 完成的,而 slave 不使用,因此很难扩展查询。增加节点会产生负面影响,因为查询数量会增加,而且速度会更慢。

  3. Cassandra - 可以使用 cassandra 中的 in-memory 选项,但似乎每个节点的表的最大大小可以是 1 GB。如果我们的表超过 1 GB,我们将不得不求助于分区,这将导致 cassandra 进行多个查询(每个节点一个),这是一个问题(与 ignite 相同)。不确定是否可以通过增加从属设备的数量来扩展 cassandra 内存表中的读取。

我们对其他解决方案持开放态度,但想知道多查询是否会成为无处不在的问题(如 hazelcast)。

我们用例的理想解决方案是一个内存数据库,其索引可以通过增加从属设备的数量来扩展读取。使其分布式/分片将导致多个查询,我们不情愿,因为一个错误的节点可能会减慢整个系统的速度。

0 投票
3 回答
1203 浏览

redis - 负载均衡器上的 Redis 集群

我已经设置了一个具有 1 个主节点和 2 个从节点的 redis 集群,并且在所有 3 个节点上运行哨兵。

在此设置之前,我的应用程序指向运行 redis 实例的单个节点。

集群建立后,我的应用程序应该指向哪里?

谢谢。

0 投票
1 回答
2755 浏览

redis - 跨数据中心 Redis 集群

我们正在尝试在多数据中心环境中设置一个 redis 集群,一个集群设置在一个数据中心,另一个集群设置在另一个数据中心,在这种情况下,有没有办法使用 redis 集群设置集群的跨数据中心复制?有没有人以这种方式设置redis集群或者有更好的方法来做到这一点?

0 投票
1 回答
8800 浏览

redis - [REDIS]: How to Delete All Keys on Master and Slave(s)?

I'm trying to delete all keys on both redis master and slave, but when I'm executing flushall or flushdb from redis-cli on master it deletes keys only on master, or vice versa if I'm deleting keys on slave it deletes keys only on slave.

What command should I use to delete all keys both on master and slave(s)?

Do I need to enable cluster support for this? Cause now it is desabled in my setup.

One more question, why there is no replication in case of using flushall or flushdb from redis-cli?

0 投票
1 回答
1495 浏览

redis - redis 命令在 redis 集群环境中仍然是原子的吗?

我知道incr命令在一个或多个redis服务器中是原子的,但是其他命令例如set命令、hset命令在redis集群环境中仍然是原子的