国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用Spring Boot實(shí)現(xiàn)Redis鍵過(guò)期回調(diào)功能

這篇具有很好參考價(jià)值的文章主要介紹了使用Spring Boot實(shí)現(xiàn)Redis鍵過(guò)期回調(diào)功能。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

使用Spring Boot實(shí)現(xiàn)Redis鍵過(guò)期回調(diào)功能

當(dāng)使用Redis作為緩存或數(shù)據(jù)存儲(chǔ)的時(shí)候,有時(shí)候需要在鍵過(guò)期時(shí)執(zhí)行一些特定的操作,比如清除相關(guān)數(shù)據(jù)或發(fā)送通知。在Spring Boot中,可以通過(guò)實(shí)現(xiàn)RedisMessageListener接口來(lái)實(shí)現(xiàn)Redis鍵過(guò)期回調(diào)功能。下面是一個(gè)實(shí)現(xiàn)Redis鍵過(guò)期回調(diào)功能的Spring Boot應(yīng)用的示例:

使用Spring Boot實(shí)現(xiàn)Redis鍵過(guò)期回調(diào)功能,Spring-Boot,Redis,spring boot,redis,后端

步驟一:引入依賴(lài)

首先,在pom.xml文件中引入spring-boot-starter-data-redis依賴(lài):

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

步驟二:配置Redis連接

application.propertiesapplication.yml文件中配置Redis連接信息,比如Redis的主機(jī)、端口號(hào)、密碼等:

spring:
  redis:
    host: localhost
    port: 6379
    password: 
    database: 0

步驟三:創(chuàng)建Redis過(guò)期事件監(jiān)聽(tīng)器

創(chuàng)建一個(gè)類(lèi)實(shí)現(xiàn)RedisMessageListener接口,并實(shí)現(xiàn)onMessage方法,該方法會(huì)在鍵過(guò)期時(shí)被調(diào)用:

import org.springframework.data.redis.connection.Message;
import org.springframework.data.redis.connection.MessageListener;
import org.springframework.stereotype.Component;

@Component
public class RedisKeyExpirationListener implements MessageListener {

    @Override
    public void onMessage(Message message, byte[] pattern) {
        String expiredKey = message.toString();
        // 在這里添加你的業(yè)務(wù)邏輯,比如清除相關(guān)數(shù)據(jù)或發(fā)送通知
        System.out.println("鍵過(guò)期:" + expiredKey);
    }
}

步驟四:配置Redis監(jiān)聽(tīng)器容器

創(chuàng)建一個(gè)配置類(lèi),配置Redis監(jiān)聽(tīng)器容器RedisMessageListenerContainer,并將上一步創(chuàng)建的監(jiān)聽(tīng)器注冊(cè)到容器中:

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.MessageListener;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.listener.PatternTopic;
import org.springframework.data.redis.listener.RedisMessageListenerContainer;

@Configuration
public class RedisConfig {

    @Bean
    public RedisMessageListenerContainer redisMessageListenerContainer(
            RedisConnectionFactory connectionFactory,
            MessageListener messageListener) {

        RedisMessageListenerContainer container = new RedisMessageListenerContainer();
        container.setConnectionFactory(connectionFactory);

        // 設(shè)置監(jiān)聽(tīng)的頻道,這里監(jiān)聽(tīng)了"__keyevent@0__:expired"頻道,其中0是Redis數(shù)據(jù)庫(kù)的索引
        container.addMessageListener(messageListener, new PatternTopic("__keyevent@*__:expired"));

        return container;
    }
}

在上述配置中,通過(guò)PatternTopic指定監(jiān)聽(tīng)的Redis鍵過(guò)期事件頻道為__keyevent@*__:expired,并將RedisKeyExpirationListener注冊(cè)到容器中。
keyevent@0:expired 是一個(gè) Redis 發(fā)布-訂閱頻道(pub-sub channel),它用于通知 Redis 數(shù)據(jù)庫(kù)中的鍵(key)已經(jīng)過(guò)期:

  • keyevent 是 Redis 中的一種特殊頻道,用于發(fā)布鍵空間通知(keyspace notifications)事件。

  • @0 表示 Redis 數(shù)據(jù)庫(kù)的索引。Redis 支持多個(gè)數(shù)據(jù)庫(kù),索引從 0 開(kāi)始,因此 0 表示默認(rèn)的第一個(gè)數(shù)據(jù)庫(kù)。

  • :expired 是事件類(lèi)型,表示鍵已過(guò)期。

步驟五:開(kāi)啟通知功能

為了啟用鍵空間通知功能,你需要在 Redis 配置中設(shè)置 notify-keyspace-events 選項(xiàng)。如果你的 Redis 服務(wù)器配置中沒(méi)有啟用此選項(xiàng),鍵過(guò)期事件將不會(huì)被發(fā)布到 keyevent@0:expired 頻道。你可以通過(guò)修改 Redis 配置文件或使用 CONFIG 命令來(lái)啟用它,如下所示:

CONFIG SET notify-keyspace-events Ex

上述命令中的 Ex 表示啟用鍵過(guò)期事件的通知。根據(jù)你的需求,你還可以配置其他通知類(lèi)型,具體可參考 Redis 文檔中的說(shuō)明。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-603285.html

到了這里,關(guān)于使用Spring Boot實(shí)現(xiàn)Redis鍵過(guò)期回調(diào)功能的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • kafka--技術(shù)文檔--spring-boot集成基礎(chǔ)簡(jiǎn)單使用

    kafka--技術(shù)文檔--spring-boot集成基礎(chǔ)簡(jiǎn)單使用

    ? ? ? ? 查閱了很多資料了解到,使用了spring-boot中整合的kafka的使用是被封裝好的。也就是說(shuō)這些使用其實(shí)和在linux中的使用kafka代碼的使用其實(shí)沒(méi)有太大關(guān)系。但是邏輯是一樣的。這點(diǎn)要注意! 核心配置為: 如果在下面規(guī)定了spring-boot的版本那么就不需要再使用版本號(hào),如

    2024年02月11日
    瀏覽(23)
  • Grafana+Prometheus技術(shù)文檔-進(jìn)階使用-監(jiān)控spring-boot項(xiàng)目

    Grafana+Prometheus技術(shù)文檔-進(jìn)階使用-監(jiān)控spring-boot項(xiàng)目

    阿丹: ? ? ? ? 之前已經(jīng)實(shí)現(xiàn)了使用Prometheus來(lái)對(duì)服務(wù)器進(jìn)行了監(jiān)控和儀表盤(pán)的創(chuàng)建,現(xiàn)在就需要對(duì)這些監(jiān)控方法使用在spring-boot中去。 ? ? ? ? 1、集成Actuator ? ? ? ? 2、加入Prometheus的依賴(lài) ? ? ? ? 3、配置開(kāi)放端口、以及開(kāi)放監(jiān)控 ? ? ? ? 4、配置Prometheus中的配置 ? ? ?

    2024年02月13日
    瀏覽(31)
  • spring-boot 實(shí)現(xiàn)接口轉(zhuǎn)發(fā)服務(wù),同時(shí)支持get 和 post等多種請(qǐng)求

    spring-boot 實(shí)現(xiàn)接口轉(zhuǎn)發(fā)服務(wù),同時(shí)支持get 和 post等多種請(qǐng)求 (1)新建類(lèi):ProxyController.java (2)代碼說(shuō)明: 這是一個(gè) Java 類(lèi),名稱(chēng)為 ProxyController 。代碼中包含以下方法: handleRequest(HttpServletRequest request) 這是一個(gè)公共方法,返回類(lèi)型為 ResponseEntityString ,會(huì)拋出一些可能的異

    2024年02月09日
    瀏覽(23)
  • MongoDB文檔-進(jìn)階使用-spring-boot整合使用MongoDB---MongoRepository完成增刪改查

    阿丹: ? ? ? ? 之前學(xué)習(xí)了在MongoDB客戶(hù)端上的MongoDB語(yǔ)句現(xiàn)在將MongoDB整合到spring項(xiàng)目。 MongoDB文檔--基本概念_一單成的博客-CSDN博客 MongoDB文檔--基本安裝-linux安裝(mongodb環(huán)境搭建)-docker安裝(掛載數(shù)據(jù)卷)-以及詳細(xì)版本對(duì)比_一單成的博客-CSDN博客 MongoDB文檔--基本安裝-linu

    2024年02月14日
    瀏覽(26)
  • MQTT協(xié)議-EMQX技術(shù)文檔-spring-boot整合使用--發(fā)送接收-消費(fèi)

    MQTT協(xié)議-EMQX技術(shù)文檔-spring-boot整合使用--發(fā)送接收-消費(fèi)

    MQTT(Message Queuing Telemetry Transport)是一種基于發(fā)布/訂閱模式的通信協(xié)議,它與MQ(Message Queue,消息隊(duì)列)有一定的關(guān)聯(lián),但二者并不完全相同。 MQTT是一種輕量級(jí)的通信協(xié)議,專(zhuān)門(mén)為在物聯(lián)網(wǎng)(IoT)設(shè)備之間的消息傳遞而設(shè)計(jì)。它運(yùn)行在TCP協(xié)議之上,以“發(fā)布-訂閱”模式進(jìn)行

    2024年02月12日
    瀏覽(21)
  • spring-boot 請(qǐng)求參數(shù)校驗(yàn):注解 @Validated 的使用、手動(dòng)校驗(yàn)、自定義校驗(yàn)

    spring-boot中可以用@validated來(lái)校驗(yàn)數(shù)據(jù),如果數(shù)據(jù)異常則會(huì)統(tǒng)一拋出異常,方便異常中心統(tǒng)一處理。 spring-boot已經(jīng)引入了基礎(chǔ)包,所以直接使用就可以。 在屬性上添加校驗(yàn)注解: 在Controller上添加 @Validated 注解 校驗(yàn)未通過(guò)時(shí),可能看到: 在 @Validated 后面緊跟著追加BindingResult,

    2023年04月16日
    瀏覽(33)
  • ElasticSearch 學(xué)習(xí)9 spring-boot ,elasticsearch7.16.1實(shí)現(xiàn)中文拼音分詞搜索

    ElasticSearch 學(xué)習(xí)9 spring-boot ,elasticsearch7.16.1實(shí)現(xiàn)中文拼音分詞搜索

    一、elasticsearch官網(wǎng)下載:Elasticsearch 7.16.1 | Elastic 二、拼音、ik、繁簡(jiǎn)體轉(zhuǎn)換插件安裝 ik分詞:GitHub - medcl/elasticsearch-analysis-ik: The IK Analysis plugin integrates Lucene IK analyzer into elasticsearch, support customized dictionary. 拼音分詞:GitHub - medcl/elasticsearch-analysis-pinyin: This Pinyin Analysis plugin is

    2024年01月22日
    瀏覽(28)
  • Spring-Boot實(shí)現(xiàn)HTTP大文件斷點(diǎn)續(xù)傳分片下載-大視頻分段漸進(jìn)式播放

    服務(wù)端如何將一個(gè)大視頻文件做切分,分段響應(yīng)給客戶(hù)端,讓瀏覽器可以漸進(jìn)式地播放。 Spring Boot實(shí)現(xiàn)HTTP分片下載斷點(diǎn)續(xù)傳,從而實(shí)現(xiàn)H5頁(yè)面的大視頻播放問(wèn)題,實(shí)現(xiàn)漸進(jìn)式播放,每次只播放需要播放的內(nèi)容就可以了,不需要加載整個(gè)文件到內(nèi)存中。 文件的斷點(diǎn)續(xù)傳、文件多

    2024年02月11日
    瀏覽(32)
  • 04.利用Redis國(guó)邏輯過(guò)期實(shí)現(xiàn)緩存功能---解決緩存擊穿

    04.利用Redis國(guó)邏輯過(guò)期實(shí)現(xiàn)緩存功能---解決緩存擊穿

    提示:學(xué)習(xí)如何利用Redis邏輯過(guò)期實(shí)現(xiàn)添加緩存功能解決緩存擊穿 緩存擊穿講解圖 : 解決方案: 采用互斥鎖 采用邏輯過(guò)期 1. 準(zhǔn)備pom環(huán)境 2. 配置ThreadLocal和過(guò)濾器 3. RedisData接收數(shù)據(jù) 3. Controller層:負(fù)責(zé)接收請(qǐng)求和向下分配 4. Service層:負(fù)責(zé)業(yè)務(wù)的處理邏輯

    2024年02月13日
    瀏覽(44)
  • Hbase-技術(shù)文檔-spring-boot整合使用hbase--簡(jiǎn)單操作增刪改查--提供封裝高可用的模版類(lèi)

    使用spring-boot項(xiàng)目來(lái)整合使用hbase。 依賴(lài)聲明表示將把Apache HBase客戶(hù)端庫(kù)的2.4.3版本添加到項(xiàng)目中。HBase是一個(gè)分布式、可擴(kuò)展的大數(shù)據(jù)存儲(chǔ)系統(tǒng),它基于Google的Bigtable模型,并使用了Hadoop分布式文件系統(tǒng)作為底層存儲(chǔ)。HBase客戶(hù)端庫(kù)是用于與HBase數(shù)據(jù)庫(kù)進(jìn)行交互的工具庫(kù),提供

    2024年02月07日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包