Redis和數據庫的讀寫操作分析

Redis和數據庫的讀操作

數據緩存往往會在Redis上設置超時時間,當設置Redis的數據超時後,Redis就沒法讀出數據了,這個時候就會觸發程序讀取數據庫,然後將讀取的數據庫數據寫入Redis(此時Redis會給Redis重設超時時間),這樣程序在讀取的過程中就能按一定的時間間隔刷新數據了。

下面寫一下這個流程的僞代碼:

public DataObiect readMethod(args){
	//嘗試從Redis中讀取數據
	DataObject data=getRedis(key);
	if(data == null){
		//從數據庫中讀取數據
		data=getFromDataBase();
		//重新寫入Redis,以便以後讀出
		writeRedis(key,data);
		//設置Redis的超時時間爲5分鐘
		setRedisExpire(key,5);
	}
	return data;
		
}

Redis和數據庫的寫操作

寫操作要考慮數據一致性的問題,尤其是那些重要的業務數據,所以首先考慮從數據庫中讀取最新的數據,然後對數據進行操作,最後把數據寫入Redis緩存中。

下面寫出這個流程的僞代碼:

public DataObject writeMethod(args){
	//從數據庫裏讀出最新數據
	DataObject dataObject=getFromDataBase(args);
	//執行業務邏輯
	ExecLogic(dataObject);
	//更新數據庫數據
	updataDataBase(dataObject);
	//刷新Redis緩存
	updataRedisData(dataObject);
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章