函式名:Memcached::touch()
適用版本:PHP 5 >= 5.4.0, PHP 7, PECL memcached >= 0.1.0
函式描述:Memcached::touch() 方法用於更新一個已存在的 key 的過期時間。
語法:bool Memcached::touch(string $key, int $expiration)
引數:
- $key:要更新過期時間的鍵名。
- $expiration:新的過期時間,以秒為單位。
返回值:成功時返回 true,失敗時返回 false。
示例:
// 建立一個新的 Memcached 例項
$memcached = new Memcached();
// 連線到 Memcached 伺服器
$memcached->addServer('localhost', 11211);
// 儲存一個鍵值對,過期時間為 60 秒
$memcached->set('mykey', 'myvalue', 60);
// 獲取鍵值對
$value = $memcached->get('mykey');
echo $value; // 輸出:myvalue
// 更新鍵的過期時間為 120 秒
$result = $memcached->touch('mykey', 120);
if ($result) {
echo '過期時間更新成功';
} else {
echo '過期時間更新失敗';
}
// 再次獲取鍵值對
$value = $memcached->get('mykey');
echo $value; // 輸出:myvalue
// 等待 130 秒後再次獲取鍵值對
sleep(130);
$value = $memcached->get('mykey');
echo $value; // 輸出:false,鍵已過期
上述示例中,我們首先建立一個 Memcached 例項,並連線到本地的 Memcached 伺服器。然後,使用 set()
方法儲存一個鍵值對,並設定過期時間為 60 秒。接著,使用 touch()
方法更新鍵的過期時間為 120 秒。最後,透過 get()
方法獲取鍵值對,並在等待過期時間後再次獲取。