PHP8 wincache_ucache_set — 將一個變量添加到用戶緩存中,并在緩存中已存在相同鍵的變量時覆蓋它

2023-10-12 17:21 更新

(PECL wincache >= 1.1.0)

wincache_ucache_set — 將一個變量添加到用戶緩存中,并在緩存中已存在相同鍵的變量時覆蓋它。

說明

wincache_ucache_set(mixed $key, mixed $value, int $ttl = 0): bool
wincache_ucache_set(array $values, mixed $unused = NULL, int $ttl = 0): bool

將一個變量添加到用戶緩存中。如果該變量已存在于緩存中,它將被覆蓋。添加或更新的變量將保留在用戶緩存中,除非其生存時間到期,或者通過使用 wincache_ucache_delete()wincache_ucache_clear() 函數(shù)將其刪除。

參數(shù)

key

使用此?key?名存儲變量。如果已經(jīng)存在具有相同?key?的變量,該函數(shù)將使用新值覆蓋先前的值。?key?區(qū)分大小寫。?key?還可以采用名稱 => 值對的數(shù)組形式,其中名稱將用作?key?。這可用于在單個操作中將多個值添加到緩存中,從而避免競爭條件。

value

要存儲的變量值。值支持除資源(如文件句柄)之外的所有數(shù)據(jù)類型。如果第一個參數(shù)是數(shù)組,將忽略此參數(shù)。一般建議在使用數(shù)組作為鍵時將值傳遞為?null?。如果值是對象,或包含對象的數(shù)組,那么這些對象將被序列化。有關(guān)對象序列化的詳細信息,請參閱?__sleep()?。

values

鍵和值的關(guān)聯(lián)數(shù)組。

ttl

變量在緩存中存活的時間,以秒為單位。在指定的ttl值經(jīng)過后,存儲的變量將從緩存中刪除。該參數(shù)的默認值為0,這意味著變量將保留在緩存中,除非通過使用 wincache_ucache_delete()wincache_ucache_clear() 函數(shù)進行明確刪除。

返回值

如果key是字符串,函數(shù)在成功時返回true,在失敗時返回false。

如果key是一個數(shù)組,函數(shù)返回以下情況:

  • 如果數(shù)組中的所有名稱 => 值對都能夠被設(shè)置,函數(shù)返回一個空數(shù)組;
  • 如果數(shù)組中的所有名稱 => 值對都無法被設(shè)置,函數(shù)返回false;
  • 如果某些可以被設(shè)置而其他無法,函數(shù)返回一個包含在用戶緩存中添加失敗的名稱 => 值對的數(shù)組。

示例

示例 #1 wincache_ucache_set() with key as a string

<?php
$bar = 'BAR';
var_dump(wincache_ucache_set('foo', $bar));
var_dump(wincache_ucache_get('foo'));
$bar1 = 'BAR1';
var_dump(wincache_ucache_set('foo', $bar1));
var_dump(wincache_ucache_get('foo'));
?>

以上示例會輸出:

bool(true)
string(3) "BAR"
bool(true)
string(3) "BAR1"

示例 #2 wincache_ucache_set() with key as an array

<?php
$colors_array = array('green' => '5', 'Blue' => '6', 'yellow' => '7', 'cyan' => '8');
var_dump(wincache_ucache_set($colors_array));
var_dump(wincache_ucache_set($colors_array));
var_dump(wincache_ucache_get('Blue'));
?>

以上示例會輸出:

array(0) {}
array(0) {}
string(1) "6"

參見

  • wincache_ucache_add() - 僅在變量尚不存在于緩存中時將變量添加到用戶緩存中。
  • wincache_ucache_get() - 獲取存儲在用戶緩存中的變量。
  • wincache_ucache_delete() - 從用戶緩存中刪除變量。
  • wincache_ucache_clear() - 刪除用戶緩存的全部內(nèi)容。
  • wincache_ucache_exists() - 檢查變量是否存在于用戶緩存中。
  • wincache_ucache_meminfo() - 獲取有關(guān)用戶緩存內(nèi)存使用情況的信息。
  • wincache_ucache_info() - 獲取有關(guān)存儲在用戶緩存中的數(shù)據(jù)的信息。
  • __sleep() 


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號