问题标签 [py-redis]

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 回答
557 浏览

python - Redis-python 将类型集的多个值添加到 redis 哈希

Redis n00b 在这里所以不要拍!

我需要将一组集合存储在由键索引的 redis 中 - 我可以:

但是如果我想要集合“A:B”,我必须手动收集密钥,如下所示:

这似乎非常慢(还要注意 rsplit)

我一直在尝试使用 hmset 来做到这一点:

但我找不到用我的集合代替“X”和“Z”的方法。

(请注意,理想情况下设置的元素应该是传入的 int 类型 - 另请注意,这些集合是只读的,所以我想优化查找而不是插入时间)

0 投票
0 回答
163 浏览

python - 如何使用 redis timeseries 模块聚合时间戳?

我需要使用 Redis 时间序列模块创建价格时间序列的每分钟烛台聚合。

我能够聚合大部分所需的列,例如 openPrice(使用第一个)、closePrice(使用最后一个)、highPrice(使用最大值)、lowPrice(使用最小值)。

但是,我完全不知道如何有效地聚合 openTimestamp 和 closeTimestamp。

一般来说,我找不到仅访问时间序列的时间戳并为其创建规则的方法。

我可以使用规则执行它的唯一方法是除了我的价格时间序列之外保存一个时间序列(时间戳,时间戳),我真的不想这样做。

这是我的示例代码。

Redis TimeSeries 是在股票价格中捕捉烛台的正确工具吗

0 投票
1 回答
28 浏览

redis - 使用 python redis 客户端在 Redis 中的事务性 pubsub

我知道 Redis 有事务和 pub/sub 的概念。我想知道您是否可以使用 Python redis 客户端进行事务性发布订阅。

这是设置。我有两个客户端 A 和 B 正在推送到相同的两个频道。每次,每个客户都可能将他们的名字推送到两个频道。他们可能会决定同时(或足够的时间)这样做。我希望通道看起来像 [A,B][A,B] 或 [B,A] [B,A],而不是 [A,B] [B,A]。即我需要自动让客户端发布到两个频道。

在 Redis cli 中,我会写类似 MULTI、PUBLISH FIRST A、PUBLISH SECOND A、EXEC 之类的东西。

如何在 Python 中做到这一点?

0 投票
0 回答
43 浏览

python - Redis Sentinel 没有切换到新的 master

我想实施redis-sentinel. 以下代码片段显示了我所做的:

这里redis_config只有这样的字典:

我按照这个解决方案来实施redis-sentinel. 但令人惊讶的是,我突然收到以下错误:

似乎是当任何故障发生时,哨兵并没有改变主人。为什么会这样?这不是第一次发生,这种情况以前发生过一次。实施好吗?

0 投票
1 回答
13 浏览

python - Redis Pipeline 执行少量命令有什么缺点或开销吗?

我正在阅读,使用 Redis Pipeline 可以通过向 Redis 服务器发送一批命令来提高性能,而不是一个一个地发送单独的消息,这可能会增加延迟时间。通过这种方式,您在管道批处理中拥有的单独命令的数量与您提高速度的程度之间存在粗略的相关性。我的问题是,在某些情况下使用 Redis Pipeline 是否存在开销或不利因素,特别是当只有几个简单的命令不经常执行时?我知道在这些情况下的实际改进将非常微不足道,但我想知道使用 Pipeline 是否会通过引入某种开销而实际上恶化执行时间?