Django数据库缓存
我正在做一个小项目,想给用户提供多种缓存选项。我发现用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,目前通过Apache在一台Ubuntu Jaunty机器上运行。我觉得我可能忽略了什么简单的东西。谢谢你们的帮助。
1 个回答
8
根据说明,你应该不是通过使用syncdb来创建表,而是用下面的方式:
python manage.py createcachetable cache_table
如果你还没有这样做,试试看这样做是否有效。