0

我想用 redis 作为我的缓存数据库在 django 中实现一致的散列。首先,我尝试利用 uhashing( https://pypi.org/project/uhashring/ ) 包来实现与 redis 的一致哈希,但我无法提供 django 和包之间的链接。我做的第二件事是在 django 本身中搜索使用一致散列配置 Redis,但我找不到任何相关内容。我只能找到使用 memcached 配置 redis。

有什么办法可以解决我的问题。任何小提示也会有所帮助,谢谢。

4

2 回答 2

0

为什么不简单地根据您可以更轻松地控制和读取的字符串生成密钥?

示例:如果您正在缓存特定用户的帖子列表,您可以像这样简单地生成密钥。如果您可以从字符串值生成键,则没有特别需要使用散列算法。

< f'user.{user.id}.posts'

> 'user.1.posts'

示例:如果您正在缓存公司的员工列表:

< f'company.{company.id}.staff'

> 'company.5693667b-f8a7-4dc6-9171-a3941c4a97ad.posts'

示例:缓存用户复杂查询的结果:

< f'user.{user.id}.search-query.{base64.b64encode(<querystring>)}'

> 'user.1.search-query.c3VwZXItc3BlY2lhbC1xdWVyeS1zdHJpbmc='
于 2019-10-16T13:10:04.183 回答
0

我刚刚找到了我的问题的一些解决方案。

我要使用的外部包需要添加到 seetings.py 文件中的已安装应用程序中,因此无需特别将 django 连接到使用该包的脚本。这个包被导入并在views.py中使用。

感谢您的帮助,干杯..!

于 2019-10-22T12:01:48.140 回答