Session 会话管理使用什么?

Session 会话管理使用什么?,session,nosql,memcached,redis,cassandra,Session,Nosql,Memcached,Redis,Cassandra,我正在尝试做一些研究,以找到在多服务器环境中会话管理的最佳选择,我想知道人们发现了哪些成功的方法以及为什么。赞成和反对 RDBMS-速度较慢。更好地用于其他数据 Memcached-您无法在不丢失会话的情况下关闭Memcached服务器 Redis-修复了memcached的问题,但是易扩展性又如何呢?容错性 Cassandra-具有良好的容错性。利与弊 MongoDB,其他人 谢谢 就我个人而言,我使用Cassandra保存php会话数据。它使用session_id:{session_data

我正在尝试做一些研究,以找到在多服务器环境中会话管理的最佳选择,我想知道人们发现了哪些成功的方法以及为什么。赞成和反对

RDBMS-速度较慢。更好地用于其他数据

Memcached-您无法在不丢失会话的情况下关闭Memcached服务器

Redis-修复了memcached的问题,但是易扩展性又如何呢?容错性

Cassandra-具有良好的容错性。利与弊

MongoDB,其他人


谢谢

就我个人而言,我使用Cassandra保存php会话数据。它使用session_id:{session_data_as_json}将它存储在一行的一列中,我在该列上设置了TTL,以便它自动执行垃圾清理。工作是一种享受

我选择了cassandra,因为它已经有了所有其他的用户数据。。。对于缓存,我在所有前端Web服务器上启用了APC,并且没有出现任何问题

这是最好的方法吗?不确定。它适合我需要满足的环境、技术和业务规则

附带说明,我确实开始使用本机php->cassandra会话处理程序:——这显示了如何使用PHPCassa和cassandra设置TTL

Redis-修复了memcached的问题,但是它的易用性呢 可伸缩性?容错性


Redis支持并且即将推出的应用程序也应该支持跨多个节点的数据分片。

有点晚了,但可能有人对后续操作感兴趣。我们使用Cassandra作为会话存储,并通过spring会话访问它(使用自行开发的spring会话Cassandra插件)。会话中的对象通过Kryo()进行编组/解编组

此设置为我们提供了1到2毫秒之间的会话get和1毫秒以下的保存:

但根据环负载,响应时间中存在一些异常值: