题
我听说过Redis的缓存,但究竟是如何工作的呢?它是用来作为Django和我的RDBMS之间的层,通过某种方式缓存RDBMS查询?
或者是它应该被直接用作数据库?我怀疑,因为这GitHub的页面不包括任何的登录信息,没有设置..只是告诉你设置一些配置属性。
解决方案
有关的Redis此Python模块具有在自述明确使用例如: http://github.com/ andymccurdy / redis的-PY
Redis的被设计成一个RAM缓存。它支持基本的GET和按键的设置以及收藏的存储如字典。您可以通过存储在自己的Redis输出缓存RDBMS查询。我们的目标是要加快你的Django网站。直到你需要的速度不要开始使用Redis的或任何其他高速缓存 - 。不要过早优化
其他提示
仅仅因为内存Redis的商店的东西并不意味着它意味着是一个高速缓存。我已经看到用它作为对数据的持久存储的人。
,它可以被用作高速缓存是一个暗示,这是作为一个高性能存储有用。如果您的Redis的系统出现故障,虽然有可能释放并没有被再次写回至到磁盘上的数据。有一些方法来减轻这种危险,例如热备份副本。 如果你的数据是“关键”,如果你运行一个银行或商店类似,Redis的可能不是你的最佳选择。但是,如果你写一个高流量的游戏持续的实时数据或一些社会互动的东西和管理数据丢失的概率是相当可以接受的,那么Redis的可能是值得一试。
总之,点保持,是的,Redis的可以被用作一个数据库。
Redis的基本上是一个“在存储器” KV存储与花哨负载。这是非常灵活的。您可以使用它作为一个临时存储,就像一个高速缓存,或永久存储,比如数据库(与在其他的答案中提到的警告)。
当使用Django组合最好/最常见的应用为Redis的可能是高速缓存的回应“和会话。
有一个后端这里 https://github.com/sebleier/django-redis-缓存/ 并在这里Django文档优秀文档: https://开头docs.djangoproject.com/en/1.3/topics/cache/ 。
我最近开始使用 https://github.com/erussell/django-redis -status 监视我的缓存 - 工作的魅力。 (上redis的配置maxmemory或结果并不那么非常有用)。
您还可以使用Redis的作为队列在您的Django应用程序分配的任务。您可以使用它作为一个信息经纪人芹菜或的Python RQ 。