狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

php實現多用戶共享數據,類似jsp的application---ATHER Shu(A.S)的Bl

admin
2012年6月7日 8:53 本文熱度 3745
需求:想要采用AMFPHP實現,多個flash端push數據到php server,這些數據都能保存在server端并且被多個flash端都能訪問到,即類似jsp中的application。

結果發現php中并未有提供application,而只有session,而session只是代表一個用戶會話,而且用戶關閉瀏覽器就失效,既不能實現persistence,更不能實現多用戶share。

為什么php沒有提供application呢?
關于此,給大家推薦一個好文以加深理解:
PHP沉思錄--工作模型:http://www.bloggern.com/1557.html

1、一開始想用php server端類里面寫個static變量,結果行不通。


class TestStatic
{
    private static $i = 0;
    function getI()
    {
        self::$i++;
        return self::$i;
    }
}

結果用amfphp browser查看,每次都返回1。
引申開來,普通php中也無法用static來實現多用戶共享數據。


<html>
<?php
class TestStatic
{
    private static $i = 0;
    static function getI()
    {
        self::$i++;
        return self::$i;
    }
}
echo "i的值是 ".TestStatic::getI();
?>
</html>

以上程序是沒什么實際意義的,每次都返回1。

原因應該很簡單,因為php是個純解釋性的腳本語言,每次瀏覽器去訪問一個php文件,都會重新解釋一遍該php文件,一旦解釋完成就清空全部此過程中產生的數據、資源等,因此靜態不靜態只是在這個解釋的過程中才有效果,一旦解釋完成,就沒有任何意義了。

同時,AMFPHP中“每Call一次Method,一個新Object Instance產生。”
來源:Luar's Flash Playground - AMFPHP在Persistent Layer探索

2、sesstion行不通,原因前面有講。

3、那就只有保存文件或者保存數據庫咯。
3.1、搜到個好帖子,有個哥們寫的用文件的方式實現多用戶共享,
php自寫application功能相當于asp中的application

3.2、帖子中也有人提出用mysql的memory表實現內存共享,這個對于jsp類似的application對象完全可行,當然這個可能會隨時崩潰,mysql每次啟動都會清空數據,只留下一個空表。
關于memory(以前叫heap引擎)的一些資料:
Mysql Memory引擎的簡單應用
Mysql的內存表(Memory engine)的問題

4、另外搜到了篇文章: 采用memcache緩存,不過這需要安裝memcache擴展。
MYSQL內存(MEMORY)表與Memcache訪問速度測試。

該文章在 2012/6/7 8:53:45 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved