问题标签 [redis-server]

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 投票
3 回答
7184 浏览

docker - redis:ReplyError:ERR DB索引超出范围

我使用 Docker 运行 redis,如下所示:

在过去这工作正常,但现在我得到这个错误:

命令:{名称:'选择',参数:['20127']}}

看起来它正在尝试连接到 db 20127,我确定它是这四个之一:

那么有什么方法可以启动 redis 并告诉它添加更多数据库吗?就像是:

0 投票
0 回答
35 浏览

redis - Redis 错过了大部分请求

我在使用 Redis 时发现了奇怪的行为。有时,对 Redis 的大多数请求都未命中。

allkeys-lru如果我正确理解内存使用量已满,我将驱逐策略设置为 Redis 将驱逐最近使用较少的密钥。所以这可能是导致这种行为的原因,但 > 50% 的失误我认为这太多了。

有没有人发现相同的行为,或者可以解释这种行为的原因是什么?

红色:未命中/绿色:命中 在此处输入图像描述

0 投票
0 回答
191 浏览

django - rq.get_current_job() 的 HUEY 替代方案

我们正在为我们的Django项目之一从rqdjango-rq迁移到HUEY ,因为rq由于fork问题导致在Windows机器上运行时出现问题。

rqnamed中有一个函数,get_current_job()它实际上返回正在运行的作业的当前实例,无论它在哪里被调用:

我知道我可以将 Huey 的任务作为参数传递给,update_job_status但问题是它是从许多函数/嵌套函数中调用的,并且很难更改所有代码。

是否有可能在 Huey 中实现类似的目标?

0 投票
2 回答
374 浏览

windows - 如何处理勺子错误:Redis 中的权限被拒绝

我是 Redis 的新手(但已经是一个热心的用户),在尝试对 Redis 进行后台保存时,我在 Windows 10 Pro(64 位)上遇到了这个错误:

(这是redis-server给出的详细信息,控制台只会在BGSAVE命令后打印ERR)。

我尝试重新启动并将用户权限更改为 redis.conf 文件,但我不确定如何手动编辑它。我的 Redis 版本早于 2.8.0。

有人可以帮我解决这个问题吗?

0 投票
2 回答
476 浏览

pyspark - Pyspark + Redis 远程服务器

我有一个配置了 redis 和 maven 的服务器,然后执行以下 sparkSession

我正在尝试连接到远程 redis 服务器并从中写入/加载数据,但是当我尝试使用以下命令 .save()

我收到以下错误:

py4j.protocol.Py4JJavaError:调用 o327.save 时出错。:java.lang.ClassNotFoundException:找不到数据源:org.apache.spark.sql.redis。请在http://spark.apache.org/third-party-projects.html找到包

有什么解决办法吗?

0 投票
1 回答
568 浏览

django - Celery beat 定期发送任务,但 celery 只是在生产中不时处理它们

我有一个使用 redis 集成 celery 的 django 项目。

我的 celery 工人在本地开发中完美地工作,现在我正在生产中进行部署。在守护进程之前,我想看看 celery 在服务器中的行为。问题是,celery beat 每分钟都正确发送任务(如我计划的那样),但工作人员似乎并非每次都收到它。有时需要 4/5 分钟才能收到并处理任务。这怎么可能?我试过调试,但信息很少。

查看我的设置:settings.py

任务.py

芹菜.py

在此我的生产日志:

你知道为什么会这样吗?

提前致谢

0 投票
2 回答
3410 浏览

ssl - Redis 6 TLS 支持和 Redis Sentinel

我想使用 Redis 6 的新 TLS 功能设置一个基本的 3 节点 Redis Sentinel 设置。不幸的是,Redis 6 Sentinel 似乎不够聪明,无法向客户端发送 TLS。

有谁知道这样做的方法,或者如果不可能,是否有任何关于将来添加对此的支持的在线提及?拥有这些漂亮的 TLS 功能却无法将它们与 Redis 自己的工具一起使用,这似乎是一种耻辱。
我知道过去人们使用 Stunnel 来执行此操作。将 TLS 支持添加到 Redis 后,我只对这样做感兴趣,如果它可以在没有第三方添加的情况下完成。

我的设置:
3 个 Redis 服务器(6.0-rc,上周最后一次提取),使用Redis 文档中指定的测试证书运行 TLS - 一个主服务器和 2 个副本
3 个 Sentinel(6.0-rc,上周也最后一次提取),不是在他们的端口上运行 TLS(我想,但这是次要问题)

我试过的:

  1. 将 Sentinel 指向 Redis TLS 端口 - 这会导致 Redis 的日志中出现大量关于接收到的不正确 TLS 版本的 TLS 错误,因为 Sentinel 没有将 TLS 与 Redis 通信。由于它失败了,所以 Sentinel 认为 master 宕机了。

  2. 在主 IP 前的 Sentinel 配置中添加“https://” - 这会导致 Sentinel 拒绝运行,说它找不到主主机名。

  3. 将 TLS 选项添加到 Sentinel - 这会导致 Sentinel 尝试在其端口上与 TLS 通信,而不是与客户端通信,这无济于事。我找不到任何关于让 Sentinel 向客户讲 TLS 的选项。

  4. 将 Sentinel 指向 Redis 非 TLS 端口(不理想,我宁愿只打开 TLS 端口) - 这会导致 Sentinel 将主端口的错误(非 TLS)端口报告给我正在测试的简单 Python 客户端(它实际上只是试图从 Sentinel 获取主信息)-出于显而易见的原因,我希望客户端通过 TLS 与 Redis 对话

  5. 使用 Sentinel 向 Redis 添加“replica-announce-port”指令仍然指向非 TLS 端口 - 这有两种方式失败:主端口仍然被错误地报告为非 TLS 端口(似乎是因为主端口是不是副本,因此该指令不适用),并且 Sentinel 现在认为副本都已关闭(因为报告了 TLS 端口,副本是自动发现的,并且它无法与 TLS 端口上的副本通信)。

我知道这个 StackOverflow 问题(Redis Sentinel 和 TLS) - 它很旧并且询问 Redis 4,所以它不一样。

0 投票
1 回答
68 浏览

batch-file - 本地刷新redis客户端的批处理文件

我想通过批处理文件刷新 redis 服务器,所以我尝试使用以下命令创建批处理文件,但它对我不起作用。

0 投票
1 回答
443 浏览

ruby-on-rails - Action cable not working in rails 5.1.7 on production environment

I using action cable with rails 5.1.7 and it's working fine in development env and production env on locally but when it's deployed on aws ec2 it's not working. Below is the production.rb code for action cable config.

And cable.yml is mentioned below.

but the default mounted path get /cable not calling at the server config level. If I'm calling wss://example.com/cable then it's connecting but default on page load it's not connecting.

0 投票
1 回答
162 浏览

ssl - redis 服务器 TLS 密码短语

我正在使用带有新 TLS 功能的 redis-server 6.0.5(顺便说一句,这很棒,对 redis 开发人员大喊大叫)。我想知道是否有一种标准方法可以将 PEM 密码短语传递给启动命令(或作为 ENV 变量,或作为 redis.conf 中的值,或作为文件路径),因为这将自动运行(在 Kubernetes 容器中作为上下文)。

我试图通过 <<EOF 读取输入,但是 1)我无法让它工作,并且 2)这似乎是一个 hacky 解决方案

Redis-server: Redis 服务器 v=6.0.5 sha=00000000:0 malloc=libc bits=64 build=576a6bc8958605f9

命令: