Redis Key過(guò)期監(jiān)聽(tīng)的配置詳解
默認(rèn)情況下在Windows系統(tǒng)中雙擊redis-server.exe用的是內(nèi)置的配置文件
如果希望用這兩個(gè)配置文件
- redis.windows.conf:這是用于在Windows上運(yùn)行Redis服務(wù)器的標(biāo)準(zhǔn)配置文件??梢允褂眠@個(gè)文件通過(guò)命令行啟動(dòng)Redis服務(wù)器。
- redis.windows-service.conf:這是專(zhuān)門(mén)為在Windows服務(wù)中運(yùn)行Redis設(shè)計(jì)的配置文件??梢允褂眠@個(gè)文件將Redis作為Windows服務(wù)來(lái)運(yùn)行。
Window安裝Redis為服務(wù)并設(shè)置開(kāi)機(jī)自啟
在redis安裝目錄下管理員運(yùn)行cmd
redis-server --service-install redis.windows.conf --service-name redis
net start redis //開(kāi)機(jī)自啟
修改redis的配置文件
@Configuration public class RedisConfig2 { @Bean RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory, MessageListenerAdapter listenerAdapter) { RedisMessageListenerContainer container = new RedisMessageListenerContainer(); container.setConnectionFactory(connectionFactory); // 訂閱鍵過(guò)期事件 container.addMessageListener(listenerAdapter, new ChannelTopic("__keyevent@0__:expired")); return container; } @Bean MessageListenerAdapter listenerAdapter(RedisKeyExpiredListener listener) { return new MessageListenerAdapter(listener); } }
@Component public class RedisKeyExpiredListener implements MessageListener { @Autowired private ITReportTimesService tReportTimesService; @Override public void onMessage(Message message, byte[] pattern) { String expiredKey = message.toString(); if (expiredKey.startsWith("sleep:decibels:")) {//只處理該key過(guò)期刪除時(shí)間 Long userId = Long.valueOf(expiredKey.split(":")[2]); // 處理非正常關(guān)機(jī)導(dǎo)致的睡眠結(jié)束邏輯 handleUnexpectedShutdown(userId); } } private void handleUnexpectedShutdown(Long userId) { // 處理睡眠監(jiān)測(cè)結(jié)束邏輯,例如記錄結(jié)束時(shí)間 System.out.println("監(jiān)測(cè)到了@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"); //要處理的邏輯....... } }
@Autowired private RedisTemplate redisTemplate; @GetMapping("/sleepTimes")//監(jiān)測(cè)時(shí)候每多少分鐘調(diào)用一次 public AjaxResult sleepTimes(){ LoginUser loginUser = getLoginUser(); Long userId = loginUser.getUserId(); // 往redis中記錄,延時(shí)30秒,通過(guò)Redis key過(guò)期監(jiān)聽(tīng)判斷用戶(hù)是否非正常關(guān)機(jī) String redisKey = "sleep:decibels:" + userId; //第一次會(huì)創(chuàng)建key和value 第二次調(diào)用會(huì)更新(覆蓋相同key)key和value redisTemplate.opsForValue().set(redisKey, "I am active", 60, TimeUnit.SECONDS); System.out.println("sleepTimes"); return success(); }
到此這篇關(guān)于Redis Key過(guò)期監(jiān)聽(tīng)的配置詳解的文章就介紹到這了,更多相關(guān)Redis Key過(guò)期監(jiān)聽(tīng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Redis集群下過(guò)期key監(jiān)聽(tīng)的實(shí)現(xiàn)代碼
- spring boot+redis 監(jiān)聽(tīng)過(guò)期Key的操作方法
- redis監(jiān)聽(tīng)key過(guò)期事件的詳細(xì)步驟
- Redis設(shè)置key的過(guò)期時(shí)間
- Redis監(jiān)聽(tīng)過(guò)期的key實(shí)現(xiàn)流程詳解
- Redis刪除過(guò)期key策略詳解
- redis?key鍵過(guò)期刪除策略及淘汰機(jī)制探究
- redis key過(guò)期監(jiān)聽(tīng)的實(shí)現(xiàn)示例
- Redis?key的過(guò)期時(shí)間和永久有效的實(shí)現(xiàn)
- Redis中key過(guò)期策略的實(shí)現(xiàn)
相關(guān)文章
hiredis從安裝到項(xiàng)目實(shí)戰(zhàn)操作
這篇文章主要介紹了hiredis從安裝到項(xiàng)目實(shí)戰(zhàn)操作,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02Ubuntu下Redis密碼設(shè)置問(wèn)題及其解決過(guò)程
這篇文章主要介紹了Ubuntu下Redis密碼設(shè)置問(wèn)題及其解決過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06基于Redis實(shí)現(xiàn)短信驗(yàn)證碼登錄項(xiàng)目示例(附源碼)
手機(jī)登錄驗(yàn)證在很多網(wǎng)頁(yè)上都得到使用,本文主要介紹了基于Redis實(shí)現(xiàn)短信驗(yàn)證碼登錄項(xiàng)目示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05使用JMeter插件Redis Data Set如何實(shí)現(xiàn)高性能數(shù)據(jù)驅(qū)動(dòng)測(cè)試
RedisDataSet插件是JMeter的一個(gè)插件,可以實(shí)現(xiàn)從Redis中動(dòng)態(tài)加載數(shù)據(jù),并將其用作測(cè)試參數(shù),本文詳細(xì)介紹如何在JMeter中使用RedisDataSet插件,幫助你實(shí)現(xiàn)高效的數(shù)據(jù)驅(qū)動(dòng)測(cè)試2025-01-01淺析Redis Sentinel 與 Redis Cluster
本文主要介紹Redis Sentinel 及 Redis Cluster的區(qū)別及用法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-06-06Redis優(yōu)化經(jīng)驗(yàn)總結(jié)(必看篇)
下面小編就為大家?guī)?lái)一篇Redis優(yōu)化經(jīng)驗(yàn)總結(jié)(必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03Redisson如何解決redis分布式鎖過(guò)期時(shí)間到了業(yè)務(wù)沒(méi)執(zhí)行完問(wèn)題
這篇文章主要介紹了Redisson如何解決redis分布式鎖過(guò)期時(shí)間到了業(yè)務(wù)沒(méi)執(zhí)行完問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01