redis - 缓存更新时间序列数据

标签 redis redistimeseries

我正在尝试使用 Redis 来缓存 270 只股票的时间序列数据。每隔 2 或 3 秒,我就会收到一系列刚刚发生的股票变动(交易)。我想将这些数据保存在 redis 中,所以我目前正在尝试考虑最好(也是最有效)的方法。

首先我考虑在 redis 中有 270 个列表,其中每个列表都是可以更新的股票之一,并且在任何更新时,我将对象添加到相应的列表中。这有 2 个主要问题,假设其中一个更新有 10 个不同的股票刚刚改变,这意味着我必须与 redis 通信 10 次。另一个问题是检索,如果我想得到所有股票的数据,那么我将不得不与redis通信270次。

另一种方法是只有一个散列映射到具有 270 个键的 JSON 对象,对象中的每个值都是一个更新数组。

我目前倾向于第二种方法,但我想知道我是否可以做一些比这些方法更好的事情?

最佳答案

@ninesalt 您可以使用 Redis 管道发送批处理或命令以加快速度。我之前(在开发中)使用它处理超过 10k 个命令的队列。

您还应该看看 RedisTimeSeries这可以使查询更快。它针对您描述的用例进行了优化,并提供了几种可能对您也有帮助的聚合。

关于redis - 缓存更新时间序列数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53125858/

相关文章:

asp.net-mvc - 有没有什么方法可以在不锁定 ASP.Net MVC 站点的情况下使用 session ?

image - 将 PNG 保存到 Redis 服务器

python - Redis时间序列与python : ResponseError: unknown command 'TS.CREATE'

python - Redis时间序列-总和

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

java - MyBatis+Redis 缓存。可能吗?

java - Spring Session Redis 无法使用 ClassNotFoundException 反序列化

php - 从redis批量删除