APCu
- 擴充套件下載地址:http://pecl.php.net/package/APCu
- php.ini需要配置:
extension=php_apcu.dll
apc.enabled=1
apc.shm_size=32M
apc.enable_cli=1
具體配置可檢視http://php.net/manual/zh/apcu.configuration.php
相關文章:
https://support.cloud.engineyard.com/hc/en...
<?php
class APCu
{
public static function get($key)
{
return json_decode(apcu_fetch($key), true);
}
public static function set($key, $data, $ttl)
{
return apcu_store($key, json_encode($data), $ttl);
}
}
if (PHP_SAPI == 'cli' || !function_exists('apcu_store')) {
//不要鬧啦 上面說了不支援 cli 模式 和 必須支援APCu擴充套件的快取
return;
}
var_dump(Apcu::get("TEST"));
Apcu::set("TEST", ["key" => "value"], 10);
var_dump(Apcu::get("TEST2"));
shm
相關文章:
http://www.laruence.com/2008/04/21/101.htm...
<?php
//使用訊號量擴充套件共享記憶體
$key = ftok(__FILE__, 'a');
$share_key = 1;
//建立一個共享記憶體,大小為1024位元組,許可權為755$
$shm_id = shm_attach($key, 1024, 0755);
var_dump($shm_id);
//將一個key=>value放進共享記憶體
$message1 = "你好啊1";
shm_put_var($shm_id, $share_key, $message1);
//重複使用key ,前一個設定的值會被後一個設定的值覆蓋掉。
$message2 = "你好啊2";
shm_put_var($shm_id, $share_key, $message2);
//讀取一個共享記憶體值
$read_message = shm_get_var($shm_id, $share_key);
echo $read_message . PHP_EOL;
//並不是取走了,而是讀取
$read_message2 = shm_get_var($shm_id, $share_key);
echo $read_message2 . PHP_EOL;
//判斷共享記憶體中,某個值是否存在
$isexists = shm_has_var($shm_id, $share_key);
var_dump($isexists);
//刪除一個值
shm_remove_var($shm_id, $share_key);
//判斷共享記憶體中,某個值是否存在
$isexists = shm_has_var($shm_id, $share_key);
var_dump($isexists);
//刪除一個共享記憶體
shm_remove($shm_id);
//關閉共享記憶體的連線
shm_detach($shm_id);