问题标签 [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 投票
0 回答
329 浏览

node.js - 带有 Nginx 520 错误的 Websocket Cloudflare

我正在参与一个在 SSL 和 Cloudflare 上存在一些套接字问题的项目……我知道……我已经阅读了大约 50 篇不同的堆栈溢出文章和 200 篇博客文章,试图弄清楚这一点。该项目可以在我的本地开发服务器/计算机上正常运行...

我认为我走在正确的轨道上 - 但如果可以的话,可以使用一些帮助/指针。

首先,我觉得 /socket-io/proxy_pass 位于端口 6379 与 redis 相同,这很奇怪......也许应该是?当此设置为 6379 时,套接字连接将无法连接 - 无论是否启用 Cloudflare(我暂停了 cloudflare 以进行测试)。

我通读了快速服务器,发现套接字服务器似乎链接到端口 4000 的快速服务器......所以我将 /socket-io/ 的 proxy_pass 更改为端口 4000 并重新连接。这适用于 Cloudflare 暂停/运行......所以也许它毕竟不是 cloudflare。尽管如此,即使它说套接字已在浏览器中重新连接,也没有任何工作。

我将首先分享我的 NGINX 配置 - 请让我知道您还需要查看什么。感谢您花时间帮助我/为我指明正确的方向!我真的很感激学习这些东西。

Edit-1 我确实看到 cloudflare 需要某些端口......我是否错误地认为这些端口仅指初始侦听端口,例如上面的 443,因为 proxy_pass 端口都使用本地主机?

0 投票
0 回答
212 浏览

caching - Redis HSET 键在几分钟后过期

我正在尝试连接到远程 redis 服务器并使用 HSET 命令设置密钥,如下所示

我可以看到使用的密钥KEYS *

但大约 1 分钟后 KEYS * 返回 empty (empty list or set)。而密钥上的 TTL 返回 -1。

这是redis服务器中的内存配置

这里的最大内存策略也是 noeviction。那么为什么密钥会过期。

更新redis server pod的日志

更新2:内存信息

used_memory:999576 used_memory_human:976.15K used_memory_rss:5341184 used_memory_rss_human:5.09M used_memory_peak:1679456 used_memory_peak_human:1.60M used_memory_peak_perc:59.52% used_memory_overhead:958562 used_memory_startup:790256 used_memory_dataset:41014 used_memory_dataset_perc:19.59% allocator_allocated:1104272 allocator_active:1642496 allocator_resident:5189632 total_system_memory:29508444160 total_system_memory_human:27.48G used_memory_lua:37888 used_memory_lua_human:37.00K used_memory_scripts:0 used_memory_scripts_human:0B number_of_cached_scripts:0 maxmemory:0 maxmemory_human:0B maxmemory_policy:noeviction allocator_frag_ratio:1.49 allocator_frag_bytes:538224 allocator_rss_ratio:3.16 allocator_rss_bytes:3547136 rss_overhead_ratio:1.03

0 投票
1 回答
1598 浏览

redis - 无法从 systemd 启动 redis

在 Debian 10 机器上,我只需键入redis-server. 但是我想将它作为守护进程运行。我可以看到/etc/systemd/system它的符号链接如下:

lrwxrwxrwx 1 root root 40 Sep 12 2019 redis.service -> /lib/systemd/system/redis-server.service

/lib/systemd/system/redis-server.service我有:

但是,当我从终端杀死redis-server运行良好的终端并尝试使用启动服务时,systemctl start redis出现此错误:

这里可能有什么问题,我该如何解决?

0 投票
0 回答
214 浏览

redis - 无法启动/启用redis服务

我正在开发 Centos 8,我刚刚使用以下命令安装了 Redis

问题是,当我尝试启用或启动 redis 服务时,它实际上给了我以下错误。

在启动 redis 服务器时,它给了我以下错误

谁能指导我如何克服这个问题并启动redis服务。谢谢

兄弟,富尔坎

0 投票
1 回答
283 浏览

bash - redis 集群仅使用 2 个节点而不是 4 个节点

我尝试在 4 个节点上设置一个 redis 集群,每个节点都有不同的 ip 和端口。

“文本”在这里是为了匿名,但 ssh 工作正常。问题是集群仅在节点 2 (ipb) 上启动,具有 2 节点集群:ipa 和 ipb。在 ipc 和 ipd 上,redis-server 进程甚至都没有启动。如果我关闭当前集群,它将启动一个带有 ipa 和 ipc 的 2 节点集群,然后如果我再次关闭,它将创建一个带有 ipd 和 ipa 的 2 节点集群。最后,如果我关闭它,它就会关闭。我希望集群立即启动所有 4 个节点而不是 2 个节点,请问我应该如何解决这个问题?副本 0 是故意的,我不需要副本从站。Node.conf 文件包含正确的端口、启用集群的 yes 等,与 redis 官方页面集群教程中的完全一样。for 循环似乎是问题,但我 在 EOF 中使用了与另一个命令完全相同的命令,它工作得非常好。我想尽可能避免添加节点然后重新分片技术,但如果没有其他选择......感谢您的帮助,如果您需要更多信息,请随时指出。如果我的错误与 redis 无关,而是由于我在 bash 中的低水平造成的,我深表歉意。

编辑:我看到我获得了近 60 次观看但没有答案,我该怎么做才能让我的问题对你们更好?还是那么愚蠢?

0 投票
1 回答
3432 浏览

redis - 如何为 redis-server 设置密码

我部署了一个 3 实例高可用性 redis。在每台服务器上,我都安装了 redis 和 sentinel。我正在尝试设置密码,以便在使用命令“redis-cli”输入时请求它。

我正在修改“redis.conf”文件的“requirepass”参数的值。

requirepass password123

同样在redis终端内,我正在使用以下命令设置密码

当我使用以下命令连接时

它工作正常,我的问题是当我重新启动 redis 服务时,由于某种原因密码设置没有保留,我收到以下消息

我不知道我需要做什么配置才能在重新启动 redis 服务后保持更改。

我安装的redis版本是“Redis server v=6.0.6”

0 投票
0 回答
98 浏览

python - 暂停在 redis-server 上的队列中执行 RQ 作业

嗨,我有一个问题,是否有可能暂停 RQ 工作人员以接受正在排队等待的工作?我发现的唯一方法是杀死它们,但我认为有更好的方法来设置工人的某种状态。

0 投票
0 回答
341 浏览

django - aioredis.errors.ProtocolError:协议错误,得到“H”作为回复类型字节

我有一个 Django 项目,我正在尝试实现 Redis 通道。当我添加下面的配置时,我的应用程序可以工作。

但是,当我尝试添加以下配置时,aioredis.errors.ProtocolError: Protocol error, got "H" as reply type byte出现错误。

这是我的 consumer.py 文件;

顺便说一句,我正在使用 macOS。我已经用命令安装了 Redisbrew install redis并启动了redis-serverwithdaphne -p 6379 VideoConference.asgi:application命令。

0 投票
0 回答
212 浏览

django - Django 连接到托管在 Amazon EC2 上的 Redis 服务器

我是 Redis 的新手。我可以在 Amazon Ec2 服务器上设置 Redis 服务器,它可以在本地运行。现在,我正在尝试通过我的 Django 应用程序连接到该服务器,但我无法这样做。我已遵循此查询并更新了我的 conf.d 文件以接受远程连接。我还为 redis 服务器设置了密码。我的 Django 中 CHANNEL_LAYERS 的 settings.py 文件如下所示:

我想我没有正确设置 CHANNEL_LAYERS。有人可以指出我正确的方向。提前感谢您的时间。

0 投票
1 回答
124 浏览

redis - redis,设置一个值为3,但它的类型是字符串

我使用 redis 6.2.4,在 redis-cli i 输入命令中:

为什么类型k5是字符串而不是数字?