簡體   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