如何使用redis数据库在django中实现一致性哈希?

how to implement consistent hashing in django using redis database?

我想在 django 中使用 redis 作为我的缓存数据库实现一致性哈希。 首先,我尝试使用 uhashing(https://pypi.org/project/uhashring/) 包来实现与 redis 的一致性哈希,但我无法在 django 和包之间提供 link 。 我做的第二件事是搜索 Configuring Redis with consistent hashing in django itself 但我找不到任何相关的东西。我只能找到用memcached配置redis。

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

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

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

< 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='

我刚刚找到了解决问题的方法。

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

中导入和使用

感谢帮助,干杯..!