你可以使用sorted set来按照时间戳顺序存储多个数据,每个数据都是6个浮点数。
首先,你需要将每个数据转换为一个字符串,以便能够在sorted set中存储。你可以使用”,“分隔6个浮点数,然后再把它们拼接成一个字符串:
data = [1.0, 2.0, 3.0, 4.0, 5.0, 6.0]
data_string = ','.join(str(x) for x in data)
接着,你可以使用redis的ZADD命令将这些数据存入sorted set中。假设你要存储的数据是data1、data2和data3,它们的时间戳分别是timestamp1、timestamp2和timestamp3:
redis.zadd('my_sorted_set', timestamp1, data1_string)
redis.zadd('my_sorted_set', timestamp2, data2_string)
redis.zadd('my_sorted_set', timestamp3, data3_string)
现在,你可以使用ZRANGEBYSCORE命令按照时间戳范围查询sorted set中的数据了。假设你想查询从timestamp_start到timestamp_end之间的数据:
data_list = redis.zrangebyscore('my_sorted_set', timestamp_start, timestamp_end)
这个命令会返回一个列表,其中每个元素都是一个存储在sorted set中的字符串。你可以使用split方法将每个字符串解析成6个浮点数:
for data_string in data_list:
data = [float(x) for x in data_string.split(',')]
# do something with data