redis與mysql資料同步

2021-07-10 21:26:43 字數 1000 閱讀 9592

應用redis實現資料的讀寫,同時利用佇列處理器定時將資料寫入mysql,此種情況存在的問題主要是如何保證mysql與redis的資料同步,二者資料同步的關鍵在於mysql資料庫中主鍵,方案是在redis啟動時去mysql讀取所有表鍵值存入redis中,往redis寫資料時,對redis主鍵自增並進行讀取,若mysql更新失敗,則需要及時清除快取及同步redis主鍵。

string tbname = "login";

//獲取mysql錶主鍵值--redis啟動時

long id =mysql.getid(tbname);

//設定redis主鍵值--redis啟動時

redisservice.set(tbname, string.valueof(id));

system.out.println(id);

long l =redisservice.incr(tbname);

system.out.println(l);

login login = new

login();

login.setid(l);

login.setname("redis");

redisservice.hmset(string.valueof(login.getid()), login);

boolean b = mysql.insert("insert into login(id,name) values(" + login.getid() + ",'" + login.getname() + "')");

/***

* 佇列處理器更新mysql失敗:

* * 清除快取資料,同時主鍵值自減 */

if (!b)

system.out.println(redisservice.exists("login:"+string.valueof(login.getid())));

system.out.println(redisservice.get(tbname));

redis與mysql資料同步

應用redis實現資料的讀寫,同時利用佇列處理器定時將資料寫入mysql,此種情況存在的問題主要是如何保證mysql與redis的資料同步,二者資料同步的關鍵在於mysql資料庫中主鍵,方案是在redis啟動時去mysql讀取所有表鍵值存入redis中,往redis寫資料時,對redis主鍵自增並進...

redis 與 資料庫(Mysql)同步

最近接觸 redis,發現其讀取速度快,突然想到,redis 怎麼和資料庫同步呢,怎麼能把資料庫的所有資料存到redis裡面,能使使用者更快速的查詢。方法1 mysql 同步到redis 解析mysql的binlog,然後做同步處理,可以使用的庫有 open replicator 方法2 同步red...

redis 與 資料庫(Mysql)同步

最近接觸 redis,發現其讀取速度快,突然想到,redis 怎麼和資料庫同步呢,怎麼能把資料庫的所有資料存到redis裡面,能使使用者更快速的查詢。方法1 mysql 同步到redis 解析mysql的binlog,然後做同步處理,可以使用的庫有 open replicator 方法2 同步red...