为了进行缓存,我需要根据字典中存在的GET参数生成缓存键。
目前,我正在使用sha1(repr(sorted(my_dict.items())))(sha1()一种内部使用hashlib的便捷方法),但我很好奇是否有更好的方法。
sha1(repr(sorted(my_dict.items())))
sha1()
如果您的字典没有嵌套,则可以使用字典的项目进行冻结设置并使用hash():
hash()
hash(frozenset(my_dict.items()))
与生成JSON字符串或字典表示相比,此方法的计算量要少得多。
更新:请参阅下面的注释,为什么这种方法可能无法产生稳定的结果。