使用 Redis 与 memcached+db 作为 Django 会话系统的优缺点?
Posted
技术标签:
【中文标题】使用 Redis 与 memcached+db 作为 Django 会话系统的优缺点?【英文标题】:Pros and Cons of using Redis vs memcached+db as Django's session system? 【发布时间】:2014-05-13 04:47:24 【问题描述】:Django 的内置 cached_db 会话允许我使用 memcached 来存储会话数据,并写入 db 以实现持久性。
虽然一些应用程序使用 redis 作为他们的会话存储(instagram 之一)。
这些解决方案的优缺点是什么?
附言我不是在问 memcached 和 redis 之间的比较,这个问题Memcached vs. Redis? 已经提供了很好的答案。我问的是在会话系统的情况下哪个更好。
【问题讨论】:
【参考方案1】:在 Memcached 中,当达到内存限制时,即使它们的 ttl 仍然到期,键也会过期。这样,您的一些用户将失去他们的会话。 Redis 默认没有内存限制,所以不会遇到这个问题。但是,您需要管理内存以确保 Redis 始终有足够的内存。您还可以在 Redis 中打开内存限制,使其行为类似于 Memcached(请参阅MAXMEMORY
配置选项)。
也可以看看Cookie-based sessions。
【讨论】:
【参考方案2】:今天我想说 Redis 是一个更好的选择。它提供了更多开箱即用的功能,例如集群。 它受到广泛支持(即 AWS 上的 ElastiCache),并且有一个很棒的 django-redis 库可用于简单集成。
【讨论】:
以上是关于使用 Redis 与 memcached+db 作为 Django 会话系统的优缺点?的主要内容,如果未能解决你的问题,请参考以下文章