java接收redis過期的

2021-09-01 06:14:15 字數 1510 閱讀 3120

監聽過期key,其實同redis的作為中介軟體差不多.具體使用跟業務來,

注意,redis過期的key並不是立馬過期刪除的,具體參見:

首先需要配置keyexpirationlistenercontainer對應的bean;

@bean

//key過期監聽,指定資料庫

redismessagelistenercontainer keyexpirationlistenercontainer(redismessagelistener listener)

具體的patterntopic配置有很多,我大概看了下,常用的就是"__keyevent@" + redisdb + "__:expired"監聽指定資料庫的key過期.

然後還要自己寫個listener,即可以實現messagelistener,也可以繼承messagelisteneradapter都可以,只監聽key過期都可以沒啥具體區別,繼承的話主要是使用redis作為中介軟體,用來發布訂閱使用的多:

package net.rdd.listener;

import org.slf4j.logger;

import org.slf4j.logge***ctory;

import org.springframework.data.redis.connection.message;

import org.springframework.data.redis.connection.messagelistener;

import org.springframework.data.redis.listener.adapter.messagelisteneradapter;

import org.springframework.data.redis.serializer.redisserializer;

import org.springframework.data.redis.serializer.stringredisserializer;

import org.springframework.stereotype.component;

@component

public

class

redismessagelistener

extends

messagelisteneradapter

}

注意在redis配置檔案中注意的:

注意將下面預設的注釋掉.

然後window啟動指定對應的配置檔案,否則會使用預設的.版本一定要注意3.0以上

redis-server.exe redis.windows.conf
即可

redis的版本也有要求,配置也需要改一下:

具體配置原始碼參見我的另外一篇部落格:

Redis的過期策略

我們都知道,redis是key value資料庫,我們可以設定redis中快取的key的過期時間。redis的過期策略就是指當redis中快取的key過期了,redis如何處理。過期策略通常有以下三種 定時過期 每個設定過期時間的key都需要建立乙個定時器,到過期時間就會立即清除。該策略可以立即清除...

redis的過期策略

什麼是redis,為啥用快取?redis是用記憶體當快取的。redis主要是基於記憶體來進行高效能 高併發的讀寫操作的。記憶體是有限的,比如redis就只能用10個g,你一直往裡面寫資料,一直寫一直寫最後10個g都用的差不多了,你繼續寫會發生什麼?當然會乾掉一些的資料了就保留10個g的資料。那red...

redis過期策略

1 noeviction 一旦記憶體滿則返回錯誤 2 allkeys lru 對所有的key進行lru 3 volatile lru 只對設定了過期的key進行lru 預設的方式 4 allkeys random 隨機剔除乙個key 5 volatile random 對設定過期的key進行隨機剔除...