Redis sscan命令


在redis中對於一個集合類,也就是除了string以外的list hash set zset這些集合類,如果里面的元素很多,此時調用del key命令就可能會阻塞很長時間

一個解決辦法是多次刪除,每次只刪一部分。那么怎么才能多次刪除呢?這里以set為例

1 先調用sscan方法,掃描出來

sadd setkeymxz a01 a02 a03 a04 a05 a05 b02 b03 b04 b05
 sscan setkeymxz 0 MATCH a* COUNT 2
2
a02

我第一次嘗試這個命令的時候,也很迷糊,怎么就返回一個a02呢,我的count是2啊。其實redis對於該命令作用順序是先執行count,再從結果集中找模式匹配的解決

例如,先找出來四個結果,再從結果中匹配時a開頭的

> sscan setkeymxz 0 MATCH a* count 4
6
a02
a03
> sscan setkeymxz 0  count 4
6
b02
a02
b04
a03

2 然后調用 SREM setkeymxz  a01 a02 多個成員用空格隔開


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM