4

我正在做一个小项目,我想为最终用户提供多个缓存选项。我认为使用 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 提供服务。我确定我只是在掩饰一些简单的事情。感谢您提供的任何帮助。

4

1 回答 1

8

根据文档,您不应该使用 syncdb 创建表,而是使用以下内容:

python manage.py createcachetable cache_table

如果您还没有这样做,请尝试看看它是否不起作用。

于 2009-07-05T18:30:48.337 回答