我正在使用 django-redis 后端和 django.core.cache.cache 模块。django 缓存模块似乎不支持推送到列表和操作某些数据结构的正确功能。
用于更新 django 缓存模块中的列表的隐含实现:
my_list = cache.get('my_list')
my_list.append('my value')
cache.set('my_list', my_list)
这种方法效率不高,因为整个列表都被加载到应用程序服务器的内存中。
Redis 支持 LPUSH / RPUSH 命令来动态更新列表。但是,看起来这些方法在 django 缓存模块中不可用。
官方的python redis客户端似乎实现了这些方法。django 有什么理由不提供这个实现?我是出于好奇而问的。可能我错过了一些细节?