redis與Mysql資料庫的同步

2021-07-09 12:27:13 字數 990 閱讀 6558

應用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,發現其讀取速度快,突然想到,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...

資料庫 redis與redis操作

網上搜了以下redis的入門操作,全tm的關於怎麼安裝配置和效能特點的。基本的crud create,read,update,delete 就誰也沒說,簡直氣瘋了。先記錄下自己常用的命令,後面再回頭整理乙份常用的操作文件。命令列登入客戶端 redis cli 登入 auth password 顯示全...