當redis獲取多個key時,可以使用keys [pattern]
方式來獲取key值,對於少量的key來講是沒有問題的,但是資料量大時,執行keys命令很可能會造成redis阻塞,因此可以採用scan採用漸進式遍歷的方式來解決keys命令可能帶來的阻塞問題
在redis 中命令 scan 操作:
scan遍歷結果:
127.0.0.1:6379> scan 0
1)"15"
2) 1)
"hello"
2)"g" 3)
"j" 4)
"c" 5)
"a" 6)
"user:1"
7)"e" 8)
"f" 9)
"b" 10)
"d"127.0.0.1:6379> scan 15
1)"0"
2) 1)
"h"127.0.0.1:6379>
類似的還有hscan、sscan、zscan
命令
使用 jedis 來操作
public
class
scantest
for(string s : list)
cursor = result.
getcursor()
;if(cursor.
equalsignorecase
("0"))
result = jedis.
scan
(cursor);}
}@test
public
void
hscantest()
for(map.entry
entry : list)
cursor = result.
getcursor()
;if(cursor.
equalsignorecase
("0"))
result = jedis.
hscan
(key, cursor);}
}}
測試結果:
1) hello
2) g
3) j
4) c
5) a
6) user:1
7) e
8) f
9) b
10) d
11) h
Jedis的簡單使用
1 使用jedis操作redis中的string public class teststring 對redis資料庫的鍵值,進行加1的操作 jedis.incr age string inc age jedis.get age system.out.println inc age 刪除某個鍵 jed...
使用Jedis操作redis
連線redis redis的預設埠是6379 jedis jedis new jedis localhost 6379 驗證密碼,如果沒有設定密碼這段 省略 jedis.auth password jedis.connect 連線 jedis.disconnect 斷開連線 setkeys jedi...
使用Jedis操作redis
首先要初始化乙個jedis物件,只需要建立jedis物件的時候指定host,port,password即可。當然,jedis物件又很多構造方法,都大同小異,只是對應和redis連線的socket的引數不一樣而已。簡單使用如下圖所示 使用jedis連線池之後,盡量在用完連線物件後記得把連線歸還給連線池...