使用Redis和memcached+db作为Django会话系统的利弊?

2024-05-11 06:27:12 发布

您现在位置:Python中文网/ 问答频道 /正文

Django内置的cached_db session允许我使用memcached存储会话数据,并通过写操作将其写入数据库以实现持久性。在

而有些应用程序使用redis作为会话存储(instagram就是其中之一)。在

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

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


Tags: 数据djangoredis数据库应用程序dbsessionmemcached
2条回答

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

另请看一下Cookie-based sessions。在

今天我想说Redis是一个更好的选择。它还提供了一些现成的功能,比如集群。 它被广泛支持(即AWS上的ElastiCache),并且有一个很好的django-redis库可用于简单的集成。在

相关问题 更多 >