出于缓存目的,我需要从字典中存在的 GET 参数生成缓存键。
目前我正在使用sha1(repr(sorted(my_dict.items())))(sha1()是一种在内部使用hashlib的便捷方法)但我很好奇是否有更好的方法。
sha1(repr(sorted(my_dict.items())))
sha1()
如果您的字典没有嵌套,您可以使用字典的项目制作一个 freezeset 并使用hash():
hash()
hash(frozenset(my_dict.items()))
这比生成 JSON 字符串或字典表示的计算量要小得多。
更新:请参阅下面的评论,为什么这种方法可能不会产生稳定的结果。