redis的使用注意事項和問題總結
阿新 • • 發佈:2018-12-25
redis單機版注意和問題:
1、redis使用命令列操作時,查詢結果中的中文會顯示為16進位制的字串,解決方案:
使用命令 redis-cli –raw就能正常顯示中文,如下圖所示:
redis-4.0.1/src/redis-cli -c -p 7006 --raw
redis叢集版注意和問題:
1、Too many redirections
解決:
(1)檢視建立叢集時,不要使用127.0.01這種地址,使用實際地址。
(2)new JedisCluster(jedisClusterNodes(jedisClusterNodes, timeout, maxredirection)時,指定最大重試次數maxredirection,一般叢集有幾個redis例項,就設定幾個
2、mset(Multi-key)等命令,報錯:
Redis::CommandError: CROSSSLOT Keys in request don’t hash to the same slot>
原因: Redis cluster對多key操作有限,要求命令中所有的key都屬於一個slot,才可以被執行。客戶端可以對multi-key命令進行拆分,再發給redis。
另外一個侷限是,在slot遷移過程中,multi-key命令特別容易報錯(CROSSSLOT Keys in request don’t hash to the same slot)。建議不用multi-key命令。
解決: 在key名中增加{XXXX},這樣redis將僅使用XXXX來計算slot的位置