我如何讓用戶A和用戶B擁有同一個對象實例?我想這會在兩個不同的會議。跨多個會話的PHP共享對象
回答
一種方法是序列化對象,然後將其放入文件或數據庫中以在請求之間共享。但是,如果兩個請求同時發生,它們將分別具有不同的對象來處理,並且最後一個要完成的請求將是唯一將被保存的請求。所以你需要某種鎖定機制來防止這種情況。
通過將序列化存儲在序列化記錄字段中具有鎖定用戶標識的表中進行鎖定。然後用「Update ser set uid = ME where ME is NULL;」來鎖定,通過選擇back來檢查是否獲得鎖定,在更新序列化時通過將uid清零來釋放鎖定。 – Don 2009-12-09 02:16:13
如果兩個用戶同時登錄,他們共享的對象是否同步?或者就像是讓物體處於兩種不同的狀態。 – Jeremiah 2009-12-09 15:41:59
這就好像讓對象處於兩種不同的狀態。由於每個請求都發生在它自己的進程中,所以沒有簡單的方法可以在腳本實例之間共享內存中的對象。 – 2009-12-10 09:42:41
結帳APC,
http://www.php.net/manual/en/intro.apc.php
可以存儲對象緩存這樣,
apc_store('my_key', $obj);
,並從另一頁/ session中獲取,這樣,
$obj = apc_fetch('my_key');
- 1. 跨域的PHP共享會話
- 2. 跨多個網格對象共享VBO
- 3. PHP會話共享
- 4. 跨路線共享對象
- 5. 共享/代理功能的CodeIgniter會話跨多個CI實例
- 6. 跨多個Web應用程序的Asp.Net共享會話?
- 7. 是否跨運行腳本共享一個PHP會話變量?
- 8. MMAP共享多個對象
- 9. 與PHP共享Servlet會話
- 10. 跨節點應用共享Redis會話
- 11. 跨多個NSMenus共享NSMenuItem
- 12. Hadoop的Mapper對象是否跨多個線程共享?
- 13. 在多個WKWebView之間共享會話
- 14. 在多個會話中共享變量
- 15. 共享會話
- 16. 跨模塊的共享內存對象
- 17. PHP - 多個子域之間的共享會話
- 18. 跨多個對象共享對象實例的最佳方式是什麼?
- 19. Java:跨多個GUI對象共享本地化對象的最佳實踐?
- 20. 多處理共享對象中的共享對象
- 21. 與子域共享的PHP會話
- 22. 在php中的會話共享
- 23. 共享跨進程數據對象
- 24. 跨類共享模型對象
- 25. 跨Java進程共享對象
- 26. 跨進程共享對象狀態?
- 27. 在多個Web應用程序之間共享PHP會話
- 28. 跨多個頁面存儲PHP會話
- 29. BrowserSync共享會話
- 30. 共享JVM會話
什麼樣的對象?它是數據還是數據庫連接? – Wayne 2009-12-09 01:46:34
會有幾個數據庫對象,員工對象。我想使用單例模式。我會在員工內部設置一個鎖定機制,以防止員工同時由兩個人工編輯器進行編輯。 – Jeremiah 2009-12-09 01:59:27