- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们希望我们的 Redis 更具可扩展性,并且我们希望能够添加更多读取实例。
我正在尝试使用这个新的阅读器端点:https://aws.amazon.com/about-aws/whats-new/2019/06/amazon-elasticache-launches-reader-endpoint-for-redis
但是,我没有看到任何简单或自动化的方法让 ioredis
使用这种方法,我可以设置哪个端点用于写入,哪个端点用于读取。即使在这里我也可以看到最后推荐的方法是“手动拆分”:https://github.com/luin/ioredis/issues/387
您是否知道任何现有的解决方案或好的方法,我可以设置哪些端点将用于写入,哪些端点将用于读取?
现在对我来说最直接的是某种“代理”层,我将在其中创建两个 Redis 实例,并将所有写入发送到主端点,将所有读取发送到读取端点。但是,我更喜欢一些更好的(或经过充分测试的)方法。
PS:我试图用 ioredis
的 Cluster
功能“破解它”,但即使是没有任何功能的简单连接和一个 - 主要端点 - 也因 ClusterAllFailedError:无法刷新插槽缓存。
(要启用阅读器端点 - 集群模式必须关闭)
最佳答案
只记下它是如何结束的
我们有两个实例(如果 URL 相同,则重复使用同一个实例)
redis = new Redis(RKT_REDIS_URL.href, redisOptions)
if (RKT_REDIS_READER_URL.href === RKT_REDIS_URL.href) {
redisro = redis
} else {
redisro = new Redis(RKT_REDIS_READER_URL.href, redisOptions)
}
然后首先用于写入,其他用于读取。
redis.hmset(key, update)
redisro.hmget(key, field)
不过一段时间后我们采用了集群redis并且它更好并且可以推荐它。此外,ioredis
npm 模块能够无缝地使用它(您不必配置任何东西,您只需将配置端点放在那里,即 AWS 提供的,仅此而已)。
这是我们的配置
redisOptions.scaleReads = 'master'
redis = new Redis.Cluster([RKT_REDIS_URL.href], redisOptions)
scaleReads 的选项是
scaleReads is "master" by default, which means ioredis will never sendany queries to slaves. There are other three available options:
"all": Send write queries to masters and read queries to masters orslaves randomly. "slave": Send write queries to masters and readqueries to slaves.
关于node.js - AWS Redis Reader 端点和 ioredis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60095059/
我正在遵循 Jest 文档 here 中的手动模拟示例 我正在尝试将此示例扩展到我自己的项目和 ioredis 的手动模拟 (mocks/ioredis.js)。我正在尝试用我自己的 ioredis
我正在遵循 Jest 文档 here 中的手动模拟示例 我正在尝试将此示例扩展到我自己的项目和 ioredis 的手动模拟 (mocks/ioredis.js)。我正在尝试用我自己的 ioredis
当使用 ioredis ( https://github.com/luin/ioredis ) 连接到 redis 集群时,您只需要指定一个节点,例如三节点集群 127.0.0.1:7000127.0
我正在尝试优雅地处理 Redis 错误,以便绕过错误并改为执行其他操作,而不是让我的应用程序崩溃。 但到目前为止,我不能只捕获 ioredis 抛出的异常,它绕过了我的 try/catch 并终止了当
我将 ioredis 与 express (nodejs) 一起使用我知道有一种方法可以通过这样的模式删除键: redis-cli KEYS "sample_pattern:*" | xargs re
我目前正在尝试从运行我的应用程序的服务器连接到存储在另一个实例上的我的 Redis 集群。我正在使用 IoRedis 在我的应用程序和我的 Redis 实例之间建立接口(interface),并且当只
这是我的代码: const Redis = require('ioredis'); const client = new Redis(); // multi set client.mset({'key
我正在使用ioredis。 为了防止巨大的缓冲区可能会使我的应用程序崩溃,我想在redis关闭时忽略请求,并捕获这些请求。 有什么办法可以实现? 最佳答案 您可以使用circuit breaker d
我想用键匹配模式“LOGIN::”搜索 Redis 数据库。我在我的应用程序中使用 ioredis。昨天我搜索了整个网络,我得到了一些可以完成这项工作的选项,如下所示: 按键 扫描流 问题: impo
我正在尝试为 ioredis nodejs 中的一组值设置过期时间。我可以使用此命令将一组添加到 reids redis.sadd('set', 1, 3, 5, 7); 但是我需要为这个集合设置一个
我很难在我的 typescript 测试中模拟第三方库。 我正在基于这个 typescript-starter 创建一个库图书馆。它使用 ava 进行测试。 在我的例子中,我试图模拟 ioredis
我正在使用 ioredis 模块。 var Redis = require('ioredis'); var redis = new Redis(); 在执行 new Redis() 时,与 Redis
在我设置或获取 key 之前,是否有任何方法可以检查 weather redis 是否可用或由于某些问题而终止?我怎样才能做到这一点? 我正在使用 ioredis 模块。 最佳答案 var Redi
const Redis = require('ioredis'); const sub = new Redis(); const pub = new Redis(); sub.on('subscrib
我将 ioredis 客户端 (@4.6.2) 与 node.js 一起使用,我需要做很多位操作(它们不相互依赖)。像这样: import * as ioredis from "ioredis"; .
我有一个基于 Laravel 构建的应用程序。我正在使用 Laradock 并尝试使用 Redis 容器,但我遇到了连接问题。 使用命令: docker inspect laradock_redis_
我正在使用 ioredis我想返回下面示例中的路径和值,一直到匿名函数。 console.log( function (jsonGraphArg) { return Redis
我正在尝试在 Node 脚本的 ioredis 中使用 hget 和 hset,我查看了文档,但找不到如何操作,知道如何操作吗? 谢谢, 最佳答案 这已在评论中得到解答,但对于 future 的搜索引
我想使用 Redis 位图来表示值。 如果我有一个整数值,那么我希望能够将位图的相应索引设置为 1或 true . 我还希望能够检索整个位图并遍历它以确定“1”的位置。 有一个bitfield dat
我们希望我们的 Redis 更具可扩展性,并且我们希望能够添加更多读取实例。 我正在尝试使用这个新的阅读器端点:https://aws.amazon.com/about-aws/whats-new/2
我是一名优秀的程序员,十分优秀!