key亂碼問題
因redis預設使用jdkserializationredisserializer來進行序列化,造成key是亂碼,如下:
keys '*!report:flag:phon*'
1) "\xac\xed\x00\x05t\x00!report:flag:phone_15jhtypubkea6464"
2) "\xac\xed\x00\x05t\x00!report:flag:phone_198946"
3) "\xac\xed\x00\x05t\x00!report:flag:phone_183302"
解決key亂碼
private redistemplate redistemplate;
@autowired(required = false)
public void setredistemplate(redistemplate redistemplate)
清理亂碼key
官方不支援 del '*keys'方式模糊/批量刪除key。但是keys命令支援模糊匹配,所以採取以下方式:
方式1:可刪除正常key,無法刪除亂碼key
redis-cli -h 192.168.1.21 -a password -n 2 --scan --pattern '*!report:flag:phon*' | xargs redis-cli -h 192.168.1.21 -a password -n 2 del
方式2:成功刪除
del "\xac\xed\x00\x05t\x00!report:flag:phone_183302" "\xac\xed\x00\x05t\x00!report:flag:phone_198946"
補充知識:redis key和value的亂碼問題解決,含日期轉化格式問題
在專案中,遇到的問題是redis的key和value出現的亂碼問題:在這裡插入描述
而原本的內容為下:
}原因: 是因為和redis內部的編碼協議出現了問題,所以需要改進。spring提供了乙個優化方案。springboot的redistemplate改進。
}比之前好了,但是還有點小問題,json的資料比以前多了,這是因為日期的轉化出現問題,這塊的知識觸及盲區,就先把解決方案寫下面,以後有時間在研究。
}最後終於出現了預期的效果
本文標題: redis 解決key的亂碼問題,並清理詳解
本文位址:
解決 Redis 的併發競爭 Key 問題
1 redis 的併發競爭 key 多個系統同時對乙個 key 進行操作,但是最後執行的順序和我們期望的順序不同,這樣也就導致了結果的不同!2 解決方式 分布式鎖 zookeeper 和 redis 都可以實現分布式鎖 如果不存在 redis 的併發競爭 key 問題,不要使用分布式鎖,這樣會影響效...
Redis中大key問題,熱key問題的解決方案
遇到大key 熱key問題,主要是去拆分 大key問題 業務場景中經常會有各種大key的情況,比如 1.單個簡單的key儲存的value很大 例如排行榜資訊,key是固定的,value排行榜幾十萬的資料 2.hash set zset list中儲存過多的元素 以萬為單位 由於redis是單執行緒執...
如何解決Redis中的key過期問題
最近我們在redis集群中發現了乙個有趣的問題。在花費大量時間進行除錯和測試後,通過更改key過期,我們可以將某些集群中的redis記憶體使用量減少25 twitter內部執行著多個快取服務。其中乙個是由redis實現的。我們的redis集群中儲存了一些twitter重要的用例資料,例如展示和參與度...