Memcache::set

(PECL memcache >= 0.2.0)

Memcache::setStore data at the server

說明

Memcache::set(
    string $key,
    mixed $var,
    int $flag = ?,
    int $expire = ?
): bool

Memcache::set()key存儲(chǔ)一個(gè)元素值為 var。參數(shù)expire是以秒為單位的失效時(shí)間, 如果設(shè)置為0表明該元素永不過期(但是它可能會(huì)因?yàn)闉榱私o其他項(xiàng)分配空間而被刪除)。如果你希望存儲(chǔ)的元素 經(jīng)過壓縮(使用zlib),你可以設(shè)置flag的值為MEMCACHE_COMPRESSED

注意:

謹(jǐn)記:資源類型變量(比如文件或連接)不能被存儲(chǔ)在緩存中,因?yàn)樗鼈冊(cè)谛蛄谢癄顟B(tài)不能被完整描述。

同樣你也可以使用函數(shù)memcache_set()。

參數(shù)

key

要設(shè)置值的key。

var

要存儲(chǔ)的值,字符串和數(shù)值直接存儲(chǔ),其他類型序列化后存儲(chǔ)。

flag

使用MEMCACHE_COMPRESSED指定對(duì)值進(jìn)行壓縮(使用zlib)。

expire

當(dāng)前寫入緩存的數(shù)據(jù)的失效時(shí)間。如果此值設(shè)置為0表明此數(shù)據(jù)永不過期。你可以設(shè)置一個(gè)UNIX時(shí)間戳或 以秒為單位的整數(shù)(從當(dāng)前算起的時(shí)間差)來說明此數(shù)據(jù)的過期時(shí)間,但是在后一種設(shè)置方式中,不能超過 2592000秒(30天)。

返回值

成功時(shí)返回 true, 或者在失敗時(shí)返回 false。

范例

示例 #1 Memcache::set() 示例

<?php
/* procedural API */

/* connect to memcached server */
$memcache_obj memcache_connect('memcache_host'11211);

/*
設(shè)置'var_key'對(duì)應(yīng)存儲(chǔ)的值
flag參數(shù)使用0,值沒有經(jīng)過壓縮
失效時(shí)間為30秒
*/
memcache_set($memcache_obj'var_key''some variable'030);

echo 
memcache_get($memcache_obj'var_key');

?>

示例 #2 Memcache::set() 示例

<?php
/* OO API */

$memcache_obj = new Memcache;

/* connect to memcached server */
$memcache_obj->connect('memcache_host'11211);

/*
設(shè)置'var_key'對(duì)應(yīng)值,使用即時(shí)壓縮
失效時(shí)間為50秒
*/
$memcache_obj->set('var_key''some really big variable'MEMCACHE_COMPRESSED50);

echo 
$memcache_obj->get('var_key');

?>

參見