【发布时间】:2016-06-09 04:25:39
【问题描述】:
我想使用 Django 缓存 API 存储一些项目。命名密钥时是否有最佳实践可遵循。我知道有些人只是将用户名作为密钥。但是我将在不同的视图中缓存各种项目,并且在每个地方都拥有相同的密钥是不可行的。我在想可能会给一个带有用户名+“特定视图”的密钥,以便密钥可以是唯一的。
对于生成密钥,还有其他好的建议吗?
【问题讨论】:
标签: python django caching django-caching
我想使用 Django 缓存 API 存储一些项目。命名密钥时是否有最佳实践可遵循。我知道有些人只是将用户名作为密钥。但是我将在不同的视图中缓存各种项目,并且在每个地方都拥有相同的密钥是不可行的。我在想可能会给一个带有用户名+“特定视图”的密钥,以便密钥可以是唯一的。
对于生成密钥,还有其他好的建议吗?
【问题讨论】:
标签: python django caching django-caching
密钥的生成取决于您要实现的目标。
例如
假设您正在尝试访问一个 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 附加到source id 可能也很有用(因此在生成键时会使用视图的上下文数据)。
【讨论】: