Redis學習(一):簡要介紹及同其他數據庫對比

簡要介紹

  1. Redis是一個非關係型數據庫(NoSql),可以存儲鍵(Key)與5種不同類型的值(value)之間的映射。
  2. 通過複製,持久化(AOF和RDB)和客戶端分片等特性來滿足生產環境所需。
  3. Redis是單核的。

Redis與其他數據庫對比

Redis與Memcached

  • Redis支持倆種方式,AOF和RDB來持久化磁盤中,而Memcached不支持。
  • Redis支持五種數據結構,(String,List,Set,Hash,Zset);Memcached支持String

Redis的應用的簡單例子

登錄與Cookie

  • 一次請求過程:

    • 客戶端向服務器端發起請求,服務器進行解析。
    • 將請求,轉發到某個處理器上。
    • 可能涉及到數據庫的相關操作。
    • 處理器將處理之後的數據,對模板進行渲染。
    • 處理器將渲染後的模板,作爲對客戶端請求的響應。

    這種情況下,請求是無狀態的。服務器沒有存儲請求相關信息。

  • 常見的登錄功能中,cookie常用來存儲用戶相關信息。

  • cookie有倆種常見的方法來進行存儲。一種是簽名(singed)cookie,一種是令牌(token)cookie。

    • 簽名:通常存儲用戶名,ID,最後一次登錄時間等其他網站需要的信息。
      • 優點:驗證cookie的信息都包含在裏面,也可以包含額外的信息。驗證比較容易。
      • 缺點:正確的處理簽名很難,很容易忘記對簽名進行處理,或者忘記簽名處理,容易造成安全漏洞。
    • 令牌:存儲一串隨機字符作爲令牌,數據庫根據令牌來查找擁有者。
      • 優點:添加信息容易,體積小,客戶端發送請求快。
      • 缺點:需要在服務器中存儲更多的信息,如果是關係型數據庫,代價比較大。
  • 使用Redis的散列結構來存儲相關信息,訪問速度快,減輕關係型數據庫壓力。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章