我的項目是一個HTTP聊天使用一些Jquery,PHP和Mysql。數據庫的最佳選擇爲php
jquery infact 每隔N秒輪詢一次數據庫來檢查我是否收到新消息(輪詢形式爲mysql表)。
由於聊天現在具有> 100個連接,因此mysql在N秒內獲得100個請求。
什麼是最佳實踐,數據庫選擇優化它? (它必須保持一個HTTP聊天,而無需使用一些服務器套接字)
問候
PS。也許MYSQL不是好選擇
我的項目是一個HTTP聊天使用一些Jquery,PHP和Mysql。數據庫的最佳選擇爲php
jquery infact 每隔N秒輪詢一次數據庫來檢查我是否收到新消息(輪詢形式爲mysql表)。
由於聊天現在具有> 100個連接,因此mysql在N秒內獲得100個請求。
什麼是最佳實踐,數據庫選擇優化它? (它必須保持一個HTTP聊天,而無需使用一些服務器套接字)
問候
PS。也許MYSQL不是好選擇
身份證去與MySql,因爲它是非常輕的重量。 PHP和MySql相處得很好。由於您將有許多更新和許多讀取數據庫的InnoDB引擎將最適合這種情況。如果您選擇MyIsam,您可能會遇到問題,因爲它一次適用於一項工作(更新或閱讀)。
爲什麼不使用內存引擎,是不是適合這種場景(Wehen選擇MySQL)? –
是的MyISAM在寫入期間鎖定整個表,而InnoDB只鎖定表中的行。 –
查看內存數據庫。聊天通常不是人們持續的事情;所以暫時的數據庫可能就是票據。例如,SQLite can do it。
不過,我想,我會更擔心你的網絡服務器。 :)
任何特殊原因不使用套接字?這種情況是他們爲之創造的。 (可能是靈活的託管服務?)
MySQL作爲一個數據庫很好,但是它的輪詢使用並不是最佳實踐。
RDBMS是這項工作的錯誤工具。
看看消息隊列解決方案。這裏有一些資源:
+1好問題 – Luke101
-1壞問題 –
他在哪裏說他必須使用MySQL? – BenM