2012-12-28 197 views
1

我剛開始在我的應用程序中使用Redis的,但由於某種原因從PHP到Redis的服務器的初始連接採用幾乎完全相同1秒。使用Predis時,直到第一個get()調用纔會發生延遲問題,如果嘗試手動連接,則通過fsockopen()在初始連接上發生延遲。Redis的連接速度慢,從PHP

我讀過redis latency documentation,但沒有任何信息似乎有關我的情況。運行redis-cli --latency似乎產生了一個亂碼。我想我的問題是解決這個問題的最佳方法是什麼?任何幫助將非常感激。

Predis客戶實例:

$redis = new Predis\Client(array(
    'host'  => 'localhost', 
    'port'  => 6379 
)); 

下面是一些相關的信息:

  • PHP 5.4.7
  • XAMPP
  • 的Windows 7 64位
  • 16GB ram
  • Redis的服務器在端口6379
+0

嘗試連接到從netcat或類似的redis中查看延遲是否來自redis服務器。如果沒有,嘗試在聆聽模式下從PHP登錄到netcat,看看問題是否來自你的PHP套接字。至少你會知道哪一方有問題... – Lepidosteus

回答

12

本地運行在Windows上始終使用127.0.0.1,而不是本地主機。

在最近的windows版本中,名稱爲localhost的分辨率是在DNS本身內部處理的(這是幫助合併IPv6的「特徵」),並且此dns查詢總是需要1秒。

+1

完美。謝謝! – Jeff

+0

如果我可以upvote這5次,我會的!謝謝 –