redis 高階功能,過期事件監聽

2021-09-26 01:29:19 字數 941 閱讀 5005

不談應用場景的技術都是道聽途說;

這個問題解決的方案就有多種了,我們可以通過mq來進行,現在大多的mq都帶有死信佇列的機制,我們可以通過這個機制來完成,其次也可以通過quartz的輪詢方式的完成,過程不表選擇合適的應對當前的需求即可。當然本次主要是解決第乙個需求,所以只談如何使用redis來解決。

3.2.1.1 springboot 配置 redis

@configuration

public class redislistenerconfig

}

3.2.1.2 書寫乙個***

@component

public class rediskeyexpirationlistener extends keyexpirationeventmessagelistener

@override

public void onmessage(message message, byte pattern)

}

需要注意的是:

過期監聽訊息中返回的是,過期的鍵的key值,是沒有返回value的

class keyexpiredlistener extends jedispubsub 

@override

public void onpmessage(string pattern, string channel, string message)

}

然後在配置檔案中配置 keyexpiredlistener 即可

就如同我們上述的例子,訂單和商品鎖定5分鐘的例子,我們兩個地方都是需要進行監聽的,但是有可能還有其他的地方需要使用的到,所以我們只寫乙個監聽,然後採用類似觀察者的模式,將需要處理這種key過期的處理程式進行註冊,在監聽裡面去呼叫就好了。

redis過期事件監聽

1 redis配置檔案修改 redis.windows.conf與 redis.windows service.conf都要修改 notify keyspace events ex2 新增redis配置檔案,訂閱過期事件訊息 keyevent 1 expired 其中1代表操作redis中的db1,...

redis過期key監聽

修改配置檔案 redis.conf notify keyspace events ex k 鍵空間通知,以 keyspace 為字首 e 鍵事件通知,以 keysevent 為字首 g del expipre rename 等型別無關的通用命令的通知,string命令 l list命令 s set命...

redis開啟過期監聽

第一步 配置redis的過期失效監聽,需要修改redis.conf配置檔案,找到 event notification 事件通知 這個配置 將notify keyspace events 修改為notify keyspace events ex 引數解釋,看配置檔案或者官網都有詳細解釋,如下 eve...