我想使用 Django 缓存 API 存储一些项目。命名密钥时是否有最佳实践可遵循。我知道有些人只是将用户名作为密钥。但是我将在不同的视图中缓存各种项目,并且在每个地方都拥有相同的密钥是不可行的。我在想可能会给一个带有用户名+“特定视图”的密钥,以便密钥可以是唯一的。
是否有人对生成密钥有任何其他好的建议?
我想使用 Django 缓存 API 存储一些项目。命名密钥时是否有最佳实践可遵循。我知道有些人只是将用户名作为密钥。但是我将在不同的视图中缓存各种项目,并且在每个地方都拥有相同的密钥是不可行的。我在想可能会给一个带有用户名+“特定视图”的密钥,以便密钥可以是唯一的。
是否有人对生成密钥有任何其他好的建议?
密钥的生成可能取决于您要实现的目标。
例如
假设您正在尝试访问一个 url:
http://yourserver/endpoint/?filter1=value1&filter2=value2
在上述情况下,您可以使用查询参数filter1=value1&filter2=value2
来创建缓存键(通过生成md5
哈希)。
考虑到前面的两个选项,如果视图应该返回一些特定于用户的数据,那么您还可以附加user id
以为用户创建唯一键。
另一个示例可能是这样的 url,其中一个人试图从以下位置访问所有文章source 1
:
http://yourserver/source/1/articles/?filter1=value1&filter2=value2
cache key
在这种情况下,附加with也可能很有用source id
(因此在生成键时,它使用视图的上下文数据)。