無(wú)德之人常嫉他人之有德。——培根
(相關(guān)資料圖)
Redis是一種高性能的內(nèi)存數(shù)據(jù)存儲(chǔ)系統(tǒng),它支持多種數(shù)據(jù)結(jié)構(gòu)和靈活的操作。除了提供常規(guī)的鍵值存儲(chǔ)功能外,Redis還支持訂閱/發(fā)布、事務(wù)、Lua腳本等高級(jí)功能,其中回調(diào)函數(shù)是Redis的一個(gè)重要特性之一。
回調(diào)函數(shù)是一種在特定事件發(fā)生時(shí)自動(dòng)執(zhí)行的函數(shù)。在Redis中,回調(diào)函數(shù)通常用于在特定事件發(fā)生時(shí)自動(dòng)執(zhí)行一些操作。這些事件包括:
客戶端連接/斷開連接數(shù)據(jù)庫(kù)鍵過(guò)期發(fā)布/訂閱消息通過(guò)使用回調(diào)函數(shù),我們可以在這些事件發(fā)生時(shí)執(zhí)行一些自定義的邏輯,從而實(shí)現(xiàn)更加靈活和復(fù)雜的應(yīng)用程序。
在Redis中,回調(diào)函數(shù)通常是通過(guò)在配置文件中定義來(lái)注冊(cè)的。下面是一個(gè)示例配置文件,其中包含了一些回調(diào)函數(shù)的定義:
bashCopy code# Sample Redis configuration file?# Register a callback function to execute when a client connectsclient-connect-callback /path/to/client-connect-script.sh?# Register a callback function to execute when a client disconnectsclient-disconnect-callback /path/to/client-disconnect-script.sh?# Register a callback function to execute when a key expireskeyspace-event-notification expired /path/to/key-expire-script.sh?# Register a callback function to execute when a message is published to a channelnotify-keyspace-events KEA /path/to/pubsub-script.sh在上面的示例中,我們注冊(cè)了四個(gè)回調(diào)函數(shù)。第一個(gè)回調(diào)函數(shù)在客戶端連接時(shí)執(zhí)行,第二個(gè)在客戶端斷開連接時(shí)執(zhí)行,第三個(gè)在鍵過(guò)期時(shí)執(zhí)行,第四個(gè)在消息發(fā)布時(shí)執(zhí)行。
要使用回調(diào)函數(shù),我們需要編寫相應(yīng)的腳本。腳本可以是任何可執(zhí)行文件,如Bash腳本、Python腳本等等。下面是一個(gè)示例Bash腳本,用于在客戶端連接時(shí)打印一條消息:
bashCopy code#!/bin/bash?echo "A client has connected"在上面的腳本中,我們使用了echo命令來(lái)輸出一條消息。當(dāng)客戶端連接時(shí),Redis會(huì)自動(dòng)執(zhí)行這個(gè)腳本,并將消息輸出到控制臺(tái)。
在編寫回調(diào)函數(shù)時(shí),我們還需要考慮一些安全問(wèn)題。由于回調(diào)函數(shù)通常是在Redis進(jìn)程的上下文中執(zhí)行的,因此我們需要確保腳本不會(huì)執(zhí)行任何危險(xiǎn)操作,如刪除文件或執(zhí)行系統(tǒng)命令等等。為了確保安全性,我們可以使用一些技術(shù),如沙盒化或限制腳本執(zhí)行權(quán)限等等。
總之,回調(diào)函數(shù)是Redis的一個(gè)非常有用的特性,它可以讓我們?cè)谔囟ㄊ录l(fā)生時(shí)自動(dòng)執(zhí)行一些操作,從而實(shí)現(xiàn)更加靈活和復(fù)雜的應(yīng)用程序。如果您正在使用Redis,并且想要了解更多關(guān)于回調(diào)函數(shù)的內(nèi)容,可以看Redis官方文檔。
例如:京東購(gòu)物車結(jié)算,在用戶進(jìn)行結(jié)算的時(shí)候,支付時(shí)間為30分鐘,用戶未在30分鐘之內(nèi)支付,則需要進(jìn)入待支付狀態(tài)。
咱們可以采用redis ,key有效期回調(diào)事件實(shí)現(xiàn),為每筆支付的訂單設(shè)置有限期為30分鐘,在當(dāng)前key失效的時(shí)候,redis進(jìn)行回調(diào)。
首先找到redis.conf配置文件,如果你跟我一樣使用mac包管理工具brew安裝的。
找到homebrew.mxcl.redis.plist文件
打開之后就可以看到redis.conf的文件地址了。
打開配置文件之后找到notify-keyspace-events "",然后設(shè)置成notify-keyspace-events "Ex"
notify-keyspace-events 的參數(shù)可以是以下字符的任意組合,它指定了服務(wù)器該發(fā)送哪些類型的通知:
字符 | 發(fā)送的通知 |
|---|---|
K | 鍵空間通知,所有通知以__keyspace@ |
E | 鍵事件通知,所有通知以 __keyevent@ |
g | DEL 、 EXPIRE 、 RENAME 等類型無(wú)關(guān)的通用命令的通知 |
$ | 字符串命令的通知 |
l | 列表命令的通知 |
s | 集合命令的通知 |
h | 哈希命令的通知 |
z | 有序集合命令的通知 |
x | 過(guò)期事件,每當(dāng)有過(guò)期鍵被刪除時(shí)發(fā)送 |
e | 驅(qū)逐事件,每當(dāng)有鍵因?yàn)閙axmemory政策而被刪除時(shí)發(fā)送 |
A | 參數(shù) g$lshzxe 的別名 |
首先發(fā)送一條普通消息,設(shè)置過(guò)期時(shí)間。
@ApiOperation(value = "測(cè)試redis回調(diào)") @SaCheckLogin @PostMapping("/test") public ApiResponse testTask(){ redisUtil.set("FILE:userInfo","我是一條消息,來(lái)測(cè)試是否進(jìn)入回調(diào)",60); return ApiResponse.ok(); }添加RedisListenerConfig回調(diào)配置類
@Slf4j@Configurationpublic class RedisListenerConfig {? @Bean RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory) { RedisMessageListenerContainer container = new RedisMessageListenerContainer(); container.setConnectionFactory(connectionFactory); return container; }? @Component public static class RedisKeyExpirationListener extends KeyExpirationEventMessageListener { public RedisKeyExpirationListener(RedisMessageListenerContainer container) { super(container); } @Override public void onMessage(Message message, byte[] pattern) { final String keyInfo = "FILE:userInfo"; String key = message.toString(); log.info("redis失效進(jìn)入回調(diào)函數(shù)攜帶key:{}", key); if (key != null && key.startsWith(keyInfo)) { log.info("需要特殊處理的key,進(jìn)行業(yè)務(wù)處理"); } } }}
環(huán)球報(bào)道:手把手帶你了解redis回調(diào)機(jī)制及代碼實(shí)現(xiàn)
Redis是一種高性能的內(nèi)存數(shù)據(jù)存儲(chǔ)系統(tǒng),它支持多種數(shù)據(jù)結(jié)構(gòu)和靈活的操作。除了提供常規(guī)的鍵值存儲(chǔ)功能外,Redis還支持訂閱 發(fā)布、事務(wù)、Lua腳
世界關(guān)注:婚后買房屬于個(gè)人財(cái)產(chǎn)嗎
導(dǎo)讀:婚后買房不屬于個(gè)人財(cái)產(chǎn),而是屬于共同財(cái)產(chǎn)。法律規(guī)定,在婚姻關(guān)系存續(xù)期間所得財(cái)產(chǎn)屬于夫妻共同財(cái)產(chǎn),夫妻雙方享有平等的
環(huán)球?qū)崟r(shí):網(wǎng)易企業(yè)郵箱怎么開通注冊(cè)_騰訊企業(yè)郵箱怎么注冊(cè)
1、您好,騰訊企業(yè)郵箱是需要購(gòu)買注冊(cè)的。2、方法:1,進(jìn)入騰訊企業(yè)郵箱官網(wǎng);2,點(diǎn)擊“立即開通”后填寫各項(xiàng)信息即可,會(huì)有
全球快看:大話西游2雕版印刷隱藏任務(wù)_大話西游2雕版印刷隱藏任務(wù)
1、得到那種可以顯示隱藏雕版的經(jīng)文并且使用。2、可以先制作雕版。3、多印刷幾張。本文到此分享完畢,希望對(duì)大家有所幫助。
【環(huán)球聚看點(diǎn)】商洛市中級(jí)人民法院舉辦女干警健康教育講座
商洛市中級(jí)人民法院舉辦女干警健康教育講座
cad導(dǎo)入su生成面_cad導(dǎo)入su如何快速成面
將cadsu快速導(dǎo)入曲面的方法是:1 將所需線稿導(dǎo)出成塊,統(tǒng)一圖層;2 在CAD中,檢查螺紋端,避免不閉合現(xiàn)象;3
環(huán)球報(bào)道:手把手帶你了解redis回調(diào)機(jī)制及代碼實(shí)現(xiàn)
Redis是一種高性能的內(nèi)存數(shù)據(jù)存儲(chǔ)系統(tǒng),它支持多種數(shù)據(jù)結(jié)構(gòu)和靈活的操作。除了提供常規(guī)的鍵值存儲(chǔ)功能外,Redis還支持訂閱 發(fā)布、事務(wù)、Lua腳
海通國(guó)際:港幣匯率與恒生指數(shù)之間是否存在聯(lián)動(dòng)關(guān)系?
海通國(guó)際發(fā)布研究報(bào)告稱,統(tǒng)計(jì)數(shù)據(jù)表明,港幣匯率和恒指存在一定的因果聯(lián)動(dòng)關(guān)系。從每日收益角度與短中期(
熱資訊!還在暴跌!硅谷銀行(SIVB.US)投資者被信息匱乏的“痛苦漩渦”嚇壞了
繼當(dāng)?shù)貢r(shí)間周四暴跌60%后,SVB金融集團(tuán)(SVBFinancialGroup)旗下硅谷銀行(SI
汽車攝像強(qiáng)需求助丘鈦科技2月出貨大增 TCL電子去年調(diào)整后凈利翻倍|港股3月10日公告精選
財(cái)聯(lián)社3月10日訊(編輯馬軼杰)財(cái)聯(lián)社為您帶來(lái)今日港股公告1)港股通聚焦舜宇光學(xué)科技(02382
第二批來(lái)了!出境跟團(tuán)游熱度再起,旅行社發(fā)團(tuán)頻率仍受制于國(guó)際航班量
財(cái)聯(lián)社3月10日訊(記者胡皓瓊)中國(guó)公民出境跟團(tuán)游目的地,又將增加40個(gè),達(dá)到60個(gè)。今日文旅部公
世界焦點(diǎn)!鐵路上海站春游運(yùn)輸開啟 客流或恢復(fù)至2019年同期水平
3月春暖花開,不少市民把踏青游玩賞花提上日程。隨著長(zhǎng)三角鐵路春游客流逐步回歸常態(tài),今天(3月10日)起,鐵路上海站正式開啟為期32天的春游
為何立法法修改關(guān)系到每個(gè)公民的切身利益?
時(shí)隔八年,中國(guó)再度修改立法法。立法法,顧名思義,就是“管法的法”,是為立法權(quán)設(shè)定邊界。聽上去有點(diǎn)“高大上”,但其實(shí)這和我們每個(gè)...
環(huán)球新動(dòng)態(tài):無(wú)人值守智能機(jī)器人,今起在“北橫通道”上崗了
圍繞城市數(shù)字化轉(zhuǎn)型,目前,上海各主要交通基礎(chǔ)設(shè)施均已納入“一網(wǎng)統(tǒng)管”,而為了讓數(shù)據(jù)能更準(zhǔn)確、高效地被“中央大腦”采集,一波智能...
再鼎醫(yī)藥(09688):逆境中“狂飆”,核心單品邁入10億大關(guān)
牛市搭臺(tái),業(yè)績(jī)打底,想必這是投資者最愛(ài)的畫面。隨著年報(bào)季到來(lái),百濟(jì)神州、君實(shí)生物、信達(dá)生物、榮昌生物
環(huán)球熱點(diǎn)評(píng)!手機(jī)鏡頭出貨再降26% 舜宇光學(xué)科技(02382)汽車業(yè)務(wù)能否成“救命稻草”?
舜宇光學(xué)科技(02382)3月10日發(fā)布了2023年2月各主要產(chǎn)品出貨量數(shù)據(jù)。數(shù)據(jù)顯示,該公司2月
新消息丨或顛覆美總統(tǒng)大選格局?特朗普可能面臨刑事指控
據(jù)美國(guó)《紐約時(shí)報(bào)》3月9日援引知情人士報(bào)道,紐約曼哈頓地方檢察官辦公室暗示,美國(guó)前總統(tǒng)特朗普可能因向艷星支付“封口費(fèi)”一事面臨刑...
全球即時(shí)看!深9396米!亞洲最深油氣水平井在塔里木盆地完鉆
今天(3月10日),位于塔克拉瑪干沙漠腹地的果勒3C井鉆至9396米,刷新亞洲最深水平井紀(jì)錄,標(biāo)志著塔里木油田邁入9000米級(jí)特深油氣勘探開發(fā)新階
環(huán)球消息!【財(cái)華洞察】百億補(bǔ)貼嚇退外資?京東在下一盤很大的棋
中國(guó)線上零售商京東集團(tuán)-SW(09618 HK,JD US)于美股盤前公布業(yè)績(jī)。京東的最新業(yè)績(jī)顯示,
全球新資訊:深圳高速公路股份(00548.HK)擬3月24日舉行董事會(huì)審議及批準(zhǔn)年度業(yè)績(jī)
格隆匯3月10日丨深圳高速公路股份(00548 HK)公告,董事會(huì)將于2023年3月24日(星期五)舉行會(huì)議,以審議及批準(zhǔn)公司截至2022年12月31日止年度經(jīng)
盧卡申科簽署法令 犯叛國(guó)罪官員軍人可被處死刑
據(jù)白俄羅斯國(guó)家通訊社、俄羅斯衛(wèi)星通訊社報(bào)道,白俄羅斯總統(tǒng)盧卡申科當(dāng)?shù)貢r(shí)間周四(9日)簽署了關(guān)于該國(guó)刑事責(zé)任問(wèn)題法典的修正案,對(duì)危...
全球快報(bào):“要再調(diào)研 用心護(hù)航青少年” 一份暫緩提交的代表建議
如何呵護(hù)青少年的心理健康,這是兩會(huì)上許多代表關(guān)注的話題。上海代表團(tuán)有一位代表,圍繞這個(gè)話題調(diào)研了很長(zhǎng)時(shí)間,建議稿子改了又改,卻...
魔都的第二家開市客在浦東試營(yíng)業(yè)啦!
3月10日,魔都的第二家開市客在浦東試營(yíng)業(yè)啦!開業(yè)后不足一小時(shí),開市客周邊的道路導(dǎo)航路況已經(jīng)翻紅,已預(yù)約的1 2萬(wàn)會(huì)員陸續(xù)集中前往開市客購(gòu)
【天天報(bào)資訊】集邦咨詢:N型技術(shù)將迎井噴式發(fā)展 TOPCON進(jìn)入推廣紅利期
集邦咨詢發(fā)文稱,2023年光伏產(chǎn)業(yè)進(jìn)入新一輪擴(kuò)產(chǎn)周期,隨著N型技術(shù)降本增效的持續(xù)推進(jìn),N型技術(shù)優(yōu)勢(shì)愈
EVTank:2022年全球電動(dòng)工具出貨量為4.7億臺(tái) 同比大幅下滑19.3%
近日,研究機(jī)構(gòu)EVTank聯(lián)合伊維經(jīng)濟(jì)研究院發(fā)布數(shù)據(jù)顯示,2022年全球電動(dòng)工具出貨量為4 7億臺(tái),
焦點(diǎn)速遞!俄軍首次!1天發(fā)射6枚“匕首”打擊烏重要軍事設(shè)施
3月9日,俄羅斯國(guó)防部表示,俄軍對(duì)烏克蘭軍事基礎(chǔ)設(shè)施實(shí)施了大規(guī)模導(dǎo)彈襲擊,以報(bào)復(fù)本月早些時(shí)候基輔方面在俄羅斯布良斯克州邊境地區(qū)發(fā)...
世界新消息丨完善完善再完善,記者直擊代表建議提交截止前夜
3月10日中午就是代表提交建議的截止時(shí)間了。大部分代表已經(jīng)完成了這項(xiàng)工作,但看看新聞Knews記者趙一凡聽說(shuō)晚上還有幾個(gè)代表仍然在抓緊修改。
焦點(diǎn)日?qǐng)?bào):中國(guó)外交部敦促日方:不得擅自啟動(dòng)核污染水排海
近日,首爾大學(xué)原子核工程系名譽(yù)教授徐均烈在接受電視臺(tái)采訪時(shí)表示,日本福島135萬(wàn)噸核污染水總量巨大,根本無(wú)法徹底實(shí)現(xiàn)凈化。挖掘一個(gè)...
上海第二家開市客試營(yíng)業(yè)!你要去“軋鬧猛”嗎?
3月10日,上海第二家開市客(Costco)在浦東試營(yíng)業(yè),1 3萬(wàn)人預(yù)約買買買,現(xiàn)場(chǎng)也是人山人海,有的阿姨一買就是三四千。你準(zhǔn)備去“軋鬧猛...
環(huán)球快訊:這一商品比炒股還賺錢!五年平均投資回報(bào)跑贏標(biāo)普500指數(shù)
財(cái)聯(lián)社3月10日訊(編輯趙昊)根據(jù)波士頓咨詢公司與二手交易平臺(tái)WatchBox周四(3月9日)公布
【天天速看料】各國(guó)加息預(yù)期加強(qiáng),鎳價(jià)深受供給過(guò)剩之苦,滬鎳主力收盤跌3.96% |...
2023 3 10五礦期貨:預(yù)計(jì)滬鎳主力合約震蕩走勢(shì)為主【震蕩操作】綜合來(lái)看,需求回暖但短期鎳鐵和精
全球速訊:中國(guó)倡導(dǎo)真正多邊主義 應(yīng)對(duì)美英澳核潛艇合作
國(guó)際原子能機(jī)構(gòu)三月理事會(huì)目前正在維也納召開。在中國(guó)推動(dòng)下,國(guó)際原子能機(jī)構(gòu)連續(xù)第七次以政府間討論的形式審議美英澳核潛艇合作問(wèn)題。3...
記者觀察丨基層醫(yī)療如何完善?學(xué)無(wú)止境 拒絕躺平
瀾滄縣位于云南省西南部,是普洱市面積最大的縣,下轄20個(gè)鄉(xiāng)(鎮(zhèn)),地域廣袤,人口居住分散。因地處邊境地區(qū),這里常年面臨醫(yī)療資源緊...
每日?qǐng)?bào)道:大韓航空客機(jī)起飛前發(fā)現(xiàn)實(shí)彈 218名乘客緊急疏散
據(jù)韓媒報(bào)道,3月10日清晨,大韓航空一架客機(jī)起飛前在機(jī)艙內(nèi)發(fā)現(xiàn)手槍實(shí)彈,218名乘客和12名機(jī)組成員被緊急疏散,導(dǎo)致航班延誤3個(gè)多小時(shí)。據(jù)《韓
Z 世代紅毯女王贊姐回歸!她是拿了大女主劇本的
前段時(shí)間整理SAG(演員工會(huì)獎(jiǎng))紅毯時(shí),和編輯一樣被脫穎而出的贊達(dá)亞美到的還有誰(shuí)(請(qǐng)舉手)?一件看起來(lái)就相當(dāng)重工的Valentino定制禮服,玫
世界關(guān)注:婚后買房屬于個(gè)人財(cái)產(chǎn)嗎
導(dǎo)讀:婚后買房不屬于個(gè)人財(cái)產(chǎn),而是屬于共同財(cái)產(chǎn)。法律規(guī)定,在婚姻關(guān)系存續(xù)期間所得財(cái)產(chǎn)屬于夫妻共同財(cái)產(chǎn),夫妻雙方享有平等的
世界焦點(diǎn)!鐵路上海站春游運(yùn)輸開啟 客流或恢復(fù)至2019年同期水平
3月春暖花開,不少市民把踏青游玩...
為何立法法修改關(guān)系到每個(gè)公民的切身利益?
時(shí)隔八年,中國(guó)再度修改立法法。立...
環(huán)球新動(dòng)態(tài):無(wú)人值守智能機(jī)器人,今起在“北橫通道”上崗了
圍繞城市數(shù)字化轉(zhuǎn)型,目前,上海各...
新消息丨或顛覆美總統(tǒng)大選格局?特朗普可能面臨刑事指控
據(jù)美國(guó)《紐約時(shí)報(bào)》3月9日援引知情...
62%受訪者對(duì)新能源汽車基本了解 汽車“里程焦慮”較為突出
近日,重慶市萬(wàn)州區(qū)、開州區(qū)、城口...
聚焦!2022年全國(guó)“綠色產(chǎn)品認(rèn)證與標(biāo)識(shí)宣傳周”正式啟動(dòng)
9月26日,由市場(chǎng)監(jiān)管總局主辦的202...
昆明市體育中心足球錦標(biāo)賽落幕 組委會(huì)已經(jīng)在為新賽季做準(zhǔn)備
9月18日,全民健身·2021昆明市體...
中安街道種植了100畝萬(wàn)壽菊 每畝產(chǎn)值是種植包谷的兩倍多
時(shí)下,正是萬(wàn)壽菊收獲的季節(jié)。走進(jìn)...