0

我正在编写一个根据查询返回 json 的 API。例如:localhost/api/query?a=1&b=2。要返回 json,我需要做一些预先计算来计算一个值,比如x. 预计算需要很长时间(几百毫秒)。例如,json 文件返回的值x+a+b. 当用户查询localhost/api/query?a=3&b=4时,x将再次计算,这是浪费时间,因为x不会更改任何查询。问题是我怎样才能x对所有查询进行这种预计算(在实际应用程序中,x不是一个值,而是一个由包装的 C++ 代码返回的复杂对象)

4

2 回答 2

2

如果您使用某种缓存(memcached、redis),您可以将其存储在那里。您可以尝试使用 pickle、msgpack 等序列化对象。您可以检索和反序列化它。

于 2013-09-13T16:10:31.073 回答
1

您可以添加一个模型(带有一个 db 表)来存储 a、b 和 x 的值。然后对于每个查询,您可以查找具有 a 和 b 的实例并返回关联的 x。

于 2013-09-13T20:31:59.283 回答