5
我需要加載幾個不常更改的信息字段,用於驗證用戶可能訪問的路由。MongoDB與Redis的用戶會話?
目前,我查詢的MongoDB,並存儲在Redis的這些領域由'user:' + mongodb_user_objectid
鍵入的一個哈希任何特定的狀態信息一起時英寸
用戶登錄然後,我創建了HTTP cookie並儲存會話這個密鑰作爲redis中的一個字符串,並由'sess:' + session_id
加密。
如果其中一個驗證字段可能發生更改,不要複製mongodb中的字段並處理更新redis和mongodb?
從沒有使用redis作爲中間人的情況下直接從mongodb讀取和寫入會話信息是否會有顯着的性能差異?
我完全同意了。測量。回覆。猜測部分 - 儘管我對MongoDB不太感興趣,但Redis的兩個經典用例是會話管理和數據庫加速/緩存。具體而言,由於MongoDB不是內存數據庫,因此在Redis的性能問題上它通常會得到增強(例如http://redislabs.com/blog/the-top-3-game-changing-redis-use-cases: )) –
感謝您的鏈接。這一切都是非常真實的,但正如鏈接指出的那樣,當涉及到*經常修改會話時,redis真的很閃亮,並保持點擊次數,請求次數等最新。這是分離更快和更龐大的操作是有意義的,並確保重複寫入僅轉到RAM。然而,OP沒有說他經常寫作,即使如此,它也必須有很多流量才能成爲一個重要的區別。 – mnemosyn
因此,由於mongodb將整個文檔加載到內存中,如果我只需要在會話中使用用戶的mongodb文檔中的幾個字段,是否會浪費RAM? – paulkon