redis實現跨系統操作時的一致性事務

2021-08-20 09:00:33 字數 367 閱讀 9404

經常會遇到一種情況,就是方法中會呼叫本系統的方法做一些操作,然後同時再呼叫外系統方法做一些操作,當本系統方法執行成功,而外部系統方法執行失敗的時候,往往會需要回滾或者進行補償操作,這裡我們可以用redis實現這一需求。

redisclient.srem(seckillcheckedlistkey, valkey);//操作成功刪除redis中的審核標識

這裡 ① 為本地對資料庫的操作,②為刷solr和推mq的操作,有可能①成功而②失敗,這樣需要記錄下這類情況,然後進行處理,所以這裡會剛開始的時候會存入到redis中,然後執行完①②後再把redis中的這條資料給去掉,這樣可以用乙個定時器去跑,然後從redis中取得有問題的資料後迴圈執行,補刷solr和發mq,然後再從redis中去掉。

redis實現的秒殺系統

利用redis的樂觀鎖,實現秒殺系統的資料同步 基於watch實現 import redis conn redis.redis host 127.0.0.1 port 6379 conn.set count 1000 with conn.pipeline as pipe 先監視,自己的值沒有被修改過...

Redis訊息通知系統的實現

posted on 2012 02 29 by 老王 最近忙著用redis實現乙個訊息通知系統,今天大概總結了一下技術細節,其中演示 如果沒有特殊說明,使用的都是phpredis擴充套件來實現的。比如要推送一條全域性訊息,如果真的給所有使用者都推送一遍的話,那麼會占用很大的記憶體,實際上不管粘性有多...

Redis訊息通知系統的實現

最近忙著用redis實現乙個訊息通知系統,今天大概總結了一下技術細節,其中演示 如果沒有特殊說明,使用的都是phpredis擴充套件來實現的。比如要推送一條全域性訊息,如果真的給所有使用者都推送一遍的話,那麼會占用很大的記憶體,實際上不管粘性有多高的產品,活躍使用者同全部使用者比起來,都會小很多,所...