應用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...