久久96国产精品久久久-久久发布国产伦子伦精品-久久精品国产精品青草-久久天天躁夜夜躁狠狠85麻豆

技術員聯盟提供win764位系統下載,win10,win7,xp,裝機純凈版,64位旗艦版,綠色軟件,免費軟件下載基地!

當前位置:主頁 > 教程 > 服務器類 >

阿里云ACE的應用模板移植

來源:技術員聯盟┆發布時間:2019-02-02 12:12┆點擊:

Aliyun Cloud Engine(以下簡稱ACE)是基于彈性計算平臺的可線性伸縮的應用托管運行環境。應用模板是我們借鑒了業內的App Store的概念,簡化用戶創建應用的步驟,方便應用的推廣。本文只講述PHP應用的模板移植,其它語言請參考相關文檔。

1. 文件、目錄讀寫

出于安全角度考慮,ACE對本地文件讀寫進行了一些限制,用戶數據建議放在我們的OSS中(開放存儲服務,具備高可靠性及可擴展性的海量數據存儲),文件讀寫都需使用ACE提供的統一接口。ACE支持創建用戶數據目錄,也支持創建源代碼文件上的目錄。

PHP自帶的fread、fwite 已被ACE默認關閉,請使用以下方法實現。

< ?php

Class CeFile{}


Function write($fileName, $content, $sync=0) 文件寫入

$fileName 文件路徑(相對路徑)

$content 文件內容

$sync是否需要同步到所有web端,為保證多臺web數據同步,默認設為0

返回 true|false


Function read($fileName) 讀取文件內容

$fileName 文件路徑(相對路徑)

返回文件內容|false


Function delete($fileName) 刪除文件

$fileName 文件路徑(相對路徑)

返回 true|false


成員變量errno 為錯誤代號

成員變量errmsg 為返回的錯誤信息供debug時使用

?>

ACE文件讀寫方法如下:

//創建cefile對象

$ce = new CeFile();

//文件寫入

$ce->write($fileName, $content, $sync=0);

//讀取文件內容

$ce->read($fileName);

//刪除文件

$ce->delete($fileName);

2. 文件緩存部署

文件緩存的主要目的是把經常訪問的數據保存在本地文件中,當有請求訪問的時候,直接將數據調出,避免了再次對數據庫的請求的I/O操作,減少數據庫的負載壓力。

ACE給每個應用默認部署兩個實例,當有請求訪問的時候,該請求就會路由到其中的一個實例。ACE具有伸縮性,隨著請求的增加和減少,可以增加或減少實例。為了提高性能,ACE也具有文件緩存功能,如緩存配置信息。當用戶修改配置文件時,應調用文件緩存的功能,實現多臺實例間配置信息的同步。

因此,應用中若用到文件緩存,必須使用ACE提供的文件讀寫接口,使用方法同文件讀寫。使用文件緩存部署應將write方法$sync同步參數設置為1。

3. Memcache緩存部署

Memcache緩存管理是AACE為開發者提供的分布式緩存服務,以共享的方式緩存用戶的key-value形式的小數據,以加快數據響應速度,減輕后端數據處理的壓力。

ACE環境下的memchae是默認為開啟的,默認給用戶免費提供64M。若用戶需要使用memcache緩存,注意以下事項。

ACE支持的Memcache 的API如下:

bool Memcache::init ()
array Memcache::get ( array $keys [, array &$flags ] )
bool Memcache::set ( string $key , mixed $var [, int $flag [, int $expire ]] )
bool add ( string $key , mixed $var [, int $flag [, int $expire ]] )
bool replace ( string $key , mixed $var [, int $flag [, int $expire ]] )
bool decrement ( string $key [, int $value = 1 ] )
bool increment ( string $key [, int $value = 1 ] )
bool delete ( string $key [, int $timeout = 0 ] )
bool close ()

ACE不支持的Memcache 的API 如下:

bool addServer* *( string $host [, int $port =
11211 [, bool $persistent [, int $weight [, int $timeout [, int $retry_interval [, bool
$status [, callback $failure_callback [, int $timeoutms ]]]]]]]] )
bool connect* *( string $host [, int $port [, int $timeout ]] )
bool flush* *( void )
bool* *pconnect ( string $host [, int $port [, int $timeout ]] )
bool setServerParams* *( string $host [, int $port =
11211 [, int $timeout [, int $retry_interval = false [, bool $status [, callback$failure_callback ]]]]] )

應用如果使用Memcache緩存,就必須使用ACE提供的memcache緩存接口。Memcache緩存使用方法如下:

< ?php

//連接

$mem = new Memcache(); //創建memcache對象,內部會訪問agent獲取地址 及ID

$mem->init();


//保存數據

$mem->set('key1', 'This is first value', 0, 60);

$val = $mem->get('key1');


//替換數據

$mem->replace('key1', 'This is replace value', 0, 60);

$val = $mem->get('key1');


//保存數組

$arr = array('aaa', 'bbb', 'ccc', 'ddd');

$mem->set('key2', $arr, 0, 60);

$val2 = $mem->get('key2');


//刪除數據

$mem->delete('key1');

$val = $mem->get('key1');


//關閉連接

$mem->close();

?>

4. 文件上傳

通過Web上傳的文件都是基于OSS的存儲(OSS是阿里云提供的開放存儲服務,用戶可以利用OSS搭建圖片、視頻等多媒體分享網站,個人/企業數據備份等基于大規模數據的服務)。