我正在處理一個權限系統。在每個頁面中,需要檢查用戶是否有權這樣做。我有兩種選擇,將數據存儲在會話變量(僅在登錄期間更新)或每次查詢數據庫中的信息。 哪個更快?我認識到如果權限發生變化,我將需要更新會話變量,因此用戶需要重新登錄以「查看」權限的更改,但這不是決定中的一個因素,只有速度是。php會話vs mysql速度
回答
速度取決於很多因素:
- 多少數據將被存儲在會話變量
- 什麼是會話變量的實際後備存儲(如果是數據庫支持的會話,它將基本上是同一時間)
我可以告訴,對於少量的數據,基於文件的會話變量將比數據庫訪問更快。
您需要測量它以獲得應用程序中兩種方法之間的相關比較。我個人懷疑它會做出如此不同以至於不會採用會議解決方案。在會議採取
我想這方面的信息存儲在會話:
- 這些數據是特定於當前用戶
- 每個用戶都有自己的數據
- 這類型的數據是不太可能的版本經常改變 - 這意味着等到會話過期和用戶回來經常是OK
- ,如果你認爲它會經常變化,可以保留一些時間戳會議上,沿着該數據,以磕ep最後一次從數據庫中提取的「何時」的軌道;並且如果它已被提取「太久以前」,則每隔幾分鐘重新進行一次。
我還想補充一點,如果有一天你開始有幾個不同的網絡服務器,你就可以使用memcached的存儲會話數據 - 這意味着它擴展的方式優於數據庫。
簡答:將它存儲在會話變量中可能會更快一些,因爲您已經從數據庫中填充它。話雖如此,我懷疑一個單一的簡單數據庫查詢的速度會以任何真正可衡量的方式讓你失望。會議對DB的
當用戶可能以每秒5次的速度發出請求時,我認爲它很重要。 (快速搜索) – vener 2010-02-23 07:55:24
設置新值:
時間:0.00062895秒
插入相同的值數據庫看法:
時間:0。00000811秒
在 餅乾插入相同的值
時間:0.00000906秒
或者,您可以使用此代碼測試:
$before = microtime(true);
// Put your code here
$after = microtime(true);
$Speed = number_format(($after - $before), 8);
echo "<h1>Time: " . $Speed . " Seconds</h1>";
如果這包括了獲取數據的時間和數據的數量,那麼這將是完美的:) – StefansArya 2017-06-15 12:24:41
- 1. mysqli速度vs php速度?
- 2. PHP會話vs類
- 3. couchdb vs mysql速度
- 4. CodeIgniter會話vs PHP會話
- 5. PHP會話減速
- 6. PHP會話VS PHP的cookie
- 7. PHP包括VS include_once(速度)
- 8. PHP MySQL會話
- 9. php mysql會話
- 10. FileCache vs會話在php
- 11. PHP和MySQL會話
- 12. php mysql shuffle輸出速度
- 13. 全文VS ID搜索速度與MySQL
- 14. MySQL查詢速度(VS搜索查詢)
- 15. Mysql(mysqli)vs wordpress - 速度和效率
- 16. MySQL DATETIME函數美vs性能(速度)
- 17. PHP vs Mysql數學三角剖分中的速度
- 18. 速度:DOMDocument vs xml_parse_into_struct vs strrpos
- 19. PHP html DOM vs純HTML速度
- 20. PHP VS JavaScript的速度處理信息
- 21. 會話vs SSL會話
- 22. PHP:默認/ tmp會話VS session_set_save_handler()性能
- 23. 應用程序vs會話vs高速緩存
- 24. ASP.NET MVC會話vs全局vs高速緩存
- 25. numpy ufuncs速度vs循環速度
- 26. AVCaptureSession vs UIImagePickerController速度
- 27. lucene/solr vs mySQL 5.6 LIKE(包含)搜索 - 會不會提高速度?
- 28. php會話和mysql更新
- 29. php mysql +會話錯誤
- 30. 會話+ php + mysql +錯誤
是速度爲單個會話情況的重要因素在這裏,還是您需要大量活動會話的速度? – 2010-02-23 07:50:08