天天看點

redis資料導出,報錯Could not connect to Redis at ip:port: Cannot assign requested address解決方法

因為需啊把redis的資料導出和資料庫資料作對比,用管道符連接配接的方式導出資料:

/opt/$company_name/redis-3.0.5/bin/redis-cli -h $IP -p $PORT  -a  $PASSWORD  keys  \* |xargs -n 1 /opt/company_name/redis-3.0.5/bin/redis-cli -h   $IP -p $PORT -a  $PASSWORD  get > key.txt 

導出過程中,報錯 :

Could not connect to Redis at IP:PORT,Cannot assign requested address.

這是因為用戶端頻繁的連伺服器,資料量較大的時候,由于每次連接配接都在很短的時間内結束,導緻很多的TIME_WAIT,以至于用光了可用的端口号,是以新的連接配接沒辦法綁定端口,即“Cannot assign requestedaddress”。

是用戶端的問題不是伺服器端的問題。通過netstat,的确看到很多TIME_WAIT狀态的連接配接。

執行指令修改如下2個核心參數  

sysctl -w net.ipv4.tcp_timestamps=1     #開啟對于TCP時間戳的支援,若該項設定為0,則下面一項設定不起作用

繼續閱讀