使用Redis vs memcached + db作为Django会话系统的优点和缺点?

时间:2014-04-02 05:34:05

标签: python django web redis memcached

Django的内置cached_db会话允许我使用memcached来存储会话数据,并将数据写入db以进行持久化。

虽然有些应用程序使用redis作为会话存储(一个用于instagram)。

这些解决方案的优缺点是什么?

P.S。我不是在询问memcached和redis之间的比较,这个问题Memcached vs. Redis?已经提供了非常好的答案。我问的是在会话系统中哪一个更好。

2 个答案:

答案 0 :(得分:2)

在Memcached中,当达到内存限制时,即使他们的ttl仍未到期,密钥也会过期。这样,您的一些用户将失去他们的会话。在Redis中,默认情况下没有内存限制,因此您不会遇到此问题。但是,您需要管理内存以确保Redis始终具有足够的内存。您还可以在Redis中打开内存限制,使其行为与Memcached类似(请参阅MAXMEMORY配置选项)。

另请查看Cookie-based sessions

答案 1 :(得分:0)

今天我会说Redis是一个更好的选择。它提供了更多的开箱即用功能,如群集。 它受到广泛支持(即AWS上的ElastiCache),并且有一个很棒的django-redis库可用于简单集成。