自从Redis出现以来,就在时间序列数据的存储与分析方面得到了一定程度的使用。Redis最初只是被实现为一种缓冲,其目的是用于日志的记录,而随着其功能的不断发展,它已经具备了5种显式、3种隐式的结构或类型,为Redis中的数据分析提供了多种方法。本文将为读者介绍使用Redis进行时间序列分析最灵活的一种方法。在Redis中,每个单独的命令本身都是原子性的,但按顺序执行的多条命令却未必是原子性的,有可能因出现竞态而导致不正确的行为。为了应对这一限制,本文将使用“事务管道”以及“Lua脚本"这两种方式避免出现数据的竞态冲突。在使用Redis以及用于连接Redis的Python客户端时,我们会调