如何使用redis和Django?

我听说过redis-cache,但究竟是如何工作的? 它被用作django和我的rdbms之间的层,通过cachingrdbms查询?

还是应该直接作为数据库使用? 我怀疑,因为该github页面不包括任何login细节,没有设置..只是告诉你设置一些configuration属性。

这个用于Redis的Python模块在自述文件中有一个清晰的用法示例: http : //github.com/andymccurdy/redis-py

Redis被devise成RAMcaching。 它支持基本的GET和SET键以及字典等集合的存储。 您可以通过将输出存储在Redis中来cachingRDBMS查询。 目标是加快你的Django网站。 不要开始使用Redis或任何其他caching,直到你需要的速度 – 不要过早优化。

仅仅因为Redis在内存中存储内容并不意味着它是一个caching。 我看到有人用它作为数据的持久存储。

它可以用作高速caching暗示它可以用作高性能存储。 如果您的Redis系统出现故障,您可能会丢失未重新写入磁盘的数据。 有一些方法可以减轻这种危险,例如热备份副本。 如果你的数据是“关键任务”的,比如你经营一家银行或者一家商店,Redis可能不是你最好的select。 但是如果你写一个高stream量的游戏,持续的实时数据或者一些社交互动的东西,并且pipe理数据丢失的概率是可以接受的,那Redis可能值得一看。

无论如何,重点仍然是,Redis可以用作数据库。

Redis基本上是一个“记忆中”的KV商店,充满了钟声和口哨声。 这是非常灵活的。 您可以将其用作临时存储,如caching或永久性存储,如数据库(其他答案中提到的注意事项)。

当与Django结合使用时,Redis的最佳/最常见的用例可能是caching“响应”。

这里有一个后台https://github.com/sebleier/django-redis-cache/和Django文档中的优秀文档:; https : //docs.djangoproject.com/en/1.3/topics/cache/ 。

我最近开始使用https://github.com/erussell/django-redis-status来监视我的caching – 起到一定的作用。 (在redis上configurationmaxmemory,或者结果不是很有用)。

您也可以使用Redis作为Django应用程序中分布式任务的队列。 您可以将其用作Celery或Python RQ的消息代理。