摘要:使用已經很長一段時間了,在項目使用過程中還是犯了一些常見的錯誤,現在總結一下,避免自己以后再犯相同的錯誤。
使用spring data redis已經很長一段時間了,在項目使用過程中還是犯了一些常見的錯誤,現在總結一下,避免自己以后再犯相同的錯誤。
1. expireAt() 設置超時時間錯誤以前在項目中主要使用的expire()這個設置key超時時間的方法,在最近的項目中,想讓某個key在某個時間點過期,比如按照日的排行榜,在第二天排行榜就沒有意思,可以設置當日的key在第二天的零點過期。
1.1 問題描述在使用expireAt()中,發覺設置過期時間之后,過期時間是一個特別大的時間,感覺不太對,就用命令行試了一下,發現沒有問題,懷疑可能是spring data redis框架的問題,順著看了一下代碼,應為使用的是redis cluster集群模式,在BinaryJedisCluster.java的pexpireAt居然使用的是pexpire()方法,應該用pexpireAt()才對
@Override public Long pexpireAt(final byte[] key, final long millisecondsTimestamp) { return new JedisClusterCommand1.2 解決辦法(connectionHandler, maxAttempts) { @Override public Long execute(Jedis connection) { return connection.pexpire(key, millisecondsTimestamp); } }.runBinary(key); }
public void expireAt(String key, Date deadLine){ final byte[] rawKey = rawKey(key); redisTemplate.execute(connection -> connection.expireAt(rawKey, deadLine.getTime() / 1000), true); }2. zset的reverseRange問題
在使用reverseRange(long start, long end)過程中,在項目中當成mysql的分頁處理,把返回數據大小直接賦值給end,導致返回的數據一直有問題。
用方法返回數據,包括start和end位置的數據,一般傳入第二個參數為pageStart + pageSize -1
在使用Hash,Zset等數據類型時,沒有先檢查一下緩存的key存在與否,而是直接使用,導致程序異常,報出空指針。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/72561.html
摘要:如問到是否使用某框架,實際是是問該框架的使用場景,有什么特點,和同類可框架對比一系列的問題。這兩個方向的區分點在于工作方向的側重點不同。 [TOC] 這是一份來自嗶哩嗶哩的Java面試Java面試 32個核心必考點完全解析(完) 課程預習 1.1 課程內容分為三個模塊 基礎模塊: 技術崗位與面試 計算機基礎 JVM原理 多線程 設計模式 數據結構與算法 應用模塊: 常用工具集 ...
摘要:歡迎訪問我的歡迎訪問我的內容所有原創文章分類匯總及配套源碼,涉及等本篇概覽本篇概覽本文是實戰系列的第八篇,經過前面的學習,咱們對過濾器已了解得差不多,今天來補全過濾器的最后一個版塊限流默認的限流器是基于實現的,限流算法是大家熟悉的令牌桶關于歡迎訪問我的GitHubhttps://github.com/zq2599/blog_demos內容:所有原創文章分類匯總及配套源碼,涉及Java、Doc...
摘要:為什么我會說它們是一樣的簡單思考一下我的后端書架后端掘金我的后端書架月前本書架主要針對后端開發與架構。一方案調研版本選擇當前主流版本是和應用的后臺運行配置后端掘金醬油一篇,整理一下關于后臺運行的一些配置方式。 分享 50 個完整的 React Native 項目 - 掘金本文為 Marno 原創,轉載必須保留出處! 公眾號 aMarno,關注后回復 RN 加入交流群 簡書專題《 Rea...
閱讀 788·2021-10-09 09:44
閱讀 692·2019-08-30 13:55
閱讀 3153·2019-08-29 15:07
閱讀 3218·2019-08-29 13:09
閱讀 2413·2019-08-29 11:10
閱讀 1289·2019-08-26 14:05
閱讀 3591·2019-08-26 13:57
閱讀 2206·2019-08-23 16:42