1. 程式人生 > >Redis 常見 的幾種使用場景

Redis 常見 的幾種使用場景

Redis 是一個開源的使用 ANSI C 語言編寫、支援網路、可基於記憶體亦可持久化的日誌型、Key-Value 資料庫,並提供多種語言的 API。

本篇文章,主要介紹利用 PHP 使用 Redis,主要的應用場景。

簡單字串快取實戰

簡單佇列實戰

簡單釋出訂閱實戰

簡單計數器實戰

排行榜實戰

簡單字串悲觀鎖實戰

解釋:悲觀鎖(Pessimistic Lock), 顧名思義,就是很悲觀。

每次去拿資料的時候都認為別人會修改,所以每次在拿資料的時候都會上鎖。

場景:如果專案中使用了快取且對快取設定了超時時間。

當併發量比較大的時候,如果沒有鎖機制,那麼快取過期的瞬間,大量併發請求會穿透快取直接查詢資料庫,造成雪崩效應。

簡單事務的樂觀鎖實戰

解釋:樂觀鎖(Optimistic Lock), 顧名思義,就是很樂觀。

每次去拿資料的時候都認為別人不會修改,所以不會上鎖。

watch 命令會監視給定的 key,當 exec 時候如果監視的 key 從呼叫 watch 後發生過變化,則整個事務會失敗。

也可以呼叫 watch 多次監視多個key。這樣就可以對指定的key加樂觀鎖了。

注意 watch 的 key 是對整個連線有效的,事務也一樣。

如果連線斷開,監視和事務都會被自動清除。

當然了 exec,discard,unwatch 命令都會清除連線中的所有監視。