2014-08-29 57 views
0

在我看來,只要你只想存儲簡單的值,比如上次訪問的時間戳和會話中的用戶標識符,那麼根本沒有任何意義將Redis用作Gorilla會話的會話持久性,因爲它們似乎將其存儲在客戶端的cookie中。使用Redis進行小型Gorilla會話有沒有意義

我是否正確或不是在這個假設?

據我所知,有一個大小限制,如果我將會話存儲在文件(大猩猩會話的其他可用存儲選項),它將不可能擴展到該機器之外,但是再次,這整個「會議商店「與大猩猩會議cookie商店沒有問題?

順便說一句,我在這裏看到這個問題,沒有它沒有解決這個問題,所以它不是重複的。 What is the advantage of using Gorilla sessions custom backend?

回答

3

使用Redis的(或任何其他服務器端存儲)可以幫助避免全班的問題,即:

  1. 大餅乾大小將每個請求的開銷 - 每個請求甚至額外的4K可很多在移動連接上。
  2. 嚴重降低cookie數據在服務器端存儲時被操作的風險。
  3. 在會話中存儲超過4K的能力(即從多步驟表格中獲得表格數據)
  4. ...並且在Redis的情況下,可以輕鬆過期服務器端會話(這是更錯誤的事情易於與MySQL或文件系統存儲。

,因爲它必須存儲的標識符,以便用戶可以用他們的服務器端會話相關聯一個cookie仍然需要,這是不特定於大猩猩/會話任何和是幾乎所有其他服務器端會話實現的行爲。

如果您認爲您的用例很簡單,那麼堅持基於cookie的會話。大猩猩/會話可以輕鬆地在稍後的日期更換支持存儲。

+0

謝謝。準確地說,我正在尋找的信息。優雅。 – Adergaard 2014-08-29 14:47:38

相關問題