我正在做一个小项目,我想为最终用户提供多个缓存选项。我认为使用 Django 将 memcached 交换为基于数据库或文件的缓存非常简单。我的 memcached 实现就像一个冠军,没有任何问题。我在我的页面上放置了时间戳,并且 curl 始终在我希望缓存正常工作的位置显示较旧的时间戳。但是,当我切换到数据库缓存时,我没有在数据库中获得任何条目,并且公然缓存不起作用。
从我在文档中看到的所有应该是必要的是将后端从:
CACHE_BACKEND = 'memcached://localhost:11211'
至:
CACHE_BACKEND = 'db://cache_table'
该表在运行所需的 manage.py (createcachetable) 行后存在,我可以很好地查看它。我目前正在测试中,所以我使用的是 sqlite3,但据我所知,这并不重要。我可以确认该表完全是空的,并且在任何时候都没有被写入。此外,正如我之前所说,我的时间戳也是“错误的”,这给了我更多证据表明某些事情不太正确。
有什么想法吗?我正在使用 sqlite3、Django 1.0.2、python 2.6,目前在 Ubuntu Jaunty 机器上通过 Apache 提供服务。我确定我只是在掩饰一些简单的事情。感谢您提供的任何帮助。