數(shù)據(jù)庫(kù)同步到Redis
我們大多傾向于使用這種方式,也就是將數(shù)據(jù)庫(kù)中的變化同步到Redis,這種更加可靠。Redis在這里只是做緩存。
方案1 (推薦學(xué)習(xí):Redis視頻教程)
做緩存,就要遵循緩存的語(yǔ)義規(guī)定:
讀:讀緩存redis,沒(méi)有,讀mysql,并將mysql的值寫(xiě)入到redis。
寫(xiě):寫(xiě)mysql,成功后,更新或者失效掉緩存redis中的值。
對(duì)于一致性要求高的,從數(shù)據(jù)庫(kù)中讀,比如金融,交易等數(shù)據(jù)。其他的從Redis讀。
這種方案的好處是由mysql,常規(guī)的關(guān)系型數(shù)據(jù)庫(kù)來(lái)保證持久化,一致性等,不容易出錯(cuò)。
方案2
這里還可以基于binlog使用mysql_udf_redis,將數(shù)據(jù)庫(kù)中的數(shù)據(jù)同步到Redis。
但是很明顯的,這將整體的復(fù)雜性提高了,而且本來(lái)我們?cè)谙到y(tǒng)代碼中能很輕易完成的功能,現(xiàn)在需要依賴(lài)第三方工具,而且系統(tǒng)的整個(gè)邊界擴(kuò)大了,變得更加不穩(wěn)定也不好管理了。