繁体   English   中英

我可以将cassandra(2.0.3)用作php会话存储(例如vs. redis)吗?

[英]Can I use cassandra (2.0.3) as a php session store (eg. vs redis)?

我已经搜寻了好几天,读了一些卡桑德拉书籍。 但是我还没有得到答案。 在将时间投入到redis或riak集群中以进行php会话存储之前,我们希望对此进行更多评估。

我们的用户正在通过3个数据中心(美国,欧盟,亚洲)进行地理位置重定向,我们在所有3个地点都运行了一个多数据中心卡桑德拉。

对我们而言,最好和最高效的方法是能够将Cassandra用作会话存储,因此我们不必维护另一个集群。 我们不介意用户必须重新登录,因为他们已被重定向到另一个数据中心,但希望尽可能减少这种情况。

因此,在我们的方案中,从技术上来说,cassandra作为php会话存储是一个不错的选择吗? 如果是,cassandra的最佳做法是什么? 我们得到了PHP的覆盖。

谢谢!

Cassandra可能是一个很好的会话存储。 但是,请注意Cassandra最终的一致设计,并相应地选择您的读取设置。 例如,如果您使用默认的复制因子3,则在执行下一个读取请求之前,可能没有将写入完全复制(复制到其他2个节点)。 如果读取一致性级别为1(最快的读取性能),则可能会从尚未接收到最新写入的节点取回旧数据。 我建议读取一致性为QUORUM或更高,以避免出现此问题-性能将略低于1级,但在这种情况下可能需要进行权衡。

PHP支持各种开箱即用的会话方法-磁盘,内存缓存和其他一些方法。 尽管猜测Cassandra并不是其中之一-但您可以相当轻松地实现自己的会话存储-请参阅此页面以获得解释-http://php.net/session.customhandler

您必须实现一组方法并将这些方法告诉PHP,或者在较新的版本上,可以实现一个接口-更好/更简洁!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM