Redis學習之路總結

2021-10-06 09:30:07 字數 1807 閱讀 5368

1.redis是什麼

2.redis的作者何許人也

3.誰在使用redis

4.學會安裝redis

5.學會啟動redis

6.使用redis客戶端

7.redis資料結構 – 簡介

8.redis資料結構 – strings

9.redis資料結構 – lists

10.redis資料結構 – 集合

11.redis資料結構 – 有序集合

12.redis資料結構 – 雜湊

13.聊聊redis持久化 – 兩種方式

14.聊聊redis持久化 – rdb

15.聊聊redis持久化 – aof

16.聊聊redis持久化 – aof重寫

17.聊聊redis持久化 – 如何選擇rdb和aof

18.聊聊主從 – 用法

19.聊聊主從 – 同步原理

20.聊聊redis的事務處理

21.教你看懂redis配置 – 簡介

22.教你看懂redis配置 -通用

23.教你看懂redis配置 – 快照

24.教你看懂redis配置 – 複製

25.教你看懂redis配置 – 安全

26.教你看懂redis配置 -限制

27.教你看懂redis配置 – 追加模式

28.教你看懂redis配置 – lua指令碼

29.教你看懂redis配置 – 慢日誌

30.教你看懂redis配置 – 事件通知

31.教你看懂redis配置 – 高階配置

32.others

當執行寫操作後,需要保證從快取讀取到的資料與資料庫中持久化的資料是一致的,因此需要對快取進行更新。因為涉及到資料庫和快取兩步操作,難以保證更新的原子性。

在設計更新策略時,我們需要考慮多個方面的問題:

更新快取和更新資料庫有兩種順序:

先更新資料庫,再刪除快取

若資料庫更新成功,刪除快取操作失敗,則此後讀到的都是快取中過期的資料,造成不一致問題。

可能發生的併發錯誤:

先更新資料庫,再更新快取

同刪除快取策略一樣,若資料庫更新成功快取更新失敗則會造成資料不一致問題。

可能發生的併發錯誤:

先更新快取,再更新資料庫

若快取更新成功資料庫更新失敗, 則此後讀到的都是未持久化的資料。因為快取中的資料是易失的,這種狀態非常危險。

因為資料庫因為鍵約束導致寫入失敗的可能性較高,所以這種策略風險較大。

可能發生的併發錯誤:

非同步更新

雙寫更新的邏輯複雜,一致性問題較多。現在我們可以採用訂閱資料庫更新的方式來更新快取。

阿里巴巴開源了mysql資料庫binlog的增量訂閱和消費元件 - canal。

我們可以採用api伺服器只寫入資料庫,而另乙個執行緒訂閱資料庫 binlog 增量進行快取更新的策略。

這種策略存在和先更新資料庫後刪除快取類似的併發問題:

這個問題同樣可以採用非同步執行緒更新快取,且寫入快取時比較資料版本的方法來解決。

redis基礎學習 開啟redis學習之路

一 redis資料型別 redis支援五種資料型別 string 字串 hash 雜湊 list 列表 set 集合 及zset sorted set 有序集合 1 string 字串 型別 string型別是redis最基本的資料型別,string型別是二進位制安全的。意思是redis的strin...

redis學習總結

1 redis屬於非關係型資料庫,而我們經常用的mysql oracle資料庫都是屬於關係型資料庫,它們本質上的區別是 mysql oracle資料庫對於資料規範要求嚴格,還有對事務的支援 而redis則沒有明確的資料規範要求,redis在操作事務是單執行緒的,不會出現執行緒安全性問題,例 incr...

redis學習總結

啟動命令 1,redis鍵 key 2,string 字串 1 在做原子操作,執行緒1加10,執行緒2減3,就可以採用incrby自增 decrby自減 可以多倍遞增和多倍遞減 2 getstrange和getstrange 3 setex 設定過期時間 和setnx 如果不存在建立成功 4 mse...