如何在Redis中存储Python字典列表?

4

我有一个Python字典,其中每个键对应一个向量ID,值包含一个作为列表的n维向量。我希望存储和检索数据以执行数学运算。

例如:
{
1121:[5.333,1.637,3.323],
3442:[1.32,0.233,4.04],
.
.
.

}
1个回答

7

这没有一种固定的方法。首先请注意,Redis的数据结构不可嵌套。然后决定需要使用数据来服务于哪些模式。

  1. 如果您大多数时候是读/写整个字典,最简单的方法是将其序列化(使用Pickle、JSON或其他方法)并将其存储为Redis中的普通字符串键。
  2. 如果您只访问单个向量,则可以使用Redis Hash来模拟字典结构,在其中每个字段都是向量ID,值是序列化列表。

2
或者您可以使用优秀的ReJSON模块,它可以让您将JSON对象存储在Redis中并直接操作它们。https://github.com/RedisLabsModules/rejson - Not_a_Golfer
2
尽量避免使用pickle,它会引入安全漏洞。 - jlandercy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接