wincache_ucache_add

(PECL wincache >= 1.1.0)

wincache_ucache_add仅当变量在缓存中不存在时才将变量添加到用户缓存中

描述

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

将变量添加到用户缓存中,前提是该变量在缓存中不存在。添加的变量将保留在用户缓存中,除非其生存时间到期或通过使用 wincache_ucache_delete()wincache_ucache_clear() 函数删除。

参数

key

使用此 key 名称存储变量。如果已经存在具有相同键的变量,则函数将失败并返回 falsekey 区分大小写。要覆盖值,即使 key 存在,也请使用 wincache_ucache_set() 函数。 key 也可以采用 name => value 对的数组,其中名称将用作键。这可用于在一次操作中向缓存中添加多个值,从而避免竞争条件。

value

要存储的变量的值。Value 支持除资源(如文件句柄)之外的所有数据类型。如果第一个参数是数组,则此参数将被忽略。一般建议是在使用数组作为 key 时,将 null 作为 value 传递。如果 value 是一个对象,或包含对象的数组,那么该对象将被序列化。有关序列化对象的详细信息,请参阅 __sleep()

values

键和值的关联数组。

ttl

变量在缓存中生存的时间(以秒为单位)。在 ttl 中指定的值过去之后,存储的变量将从缓存中删除。此参数的默认值为 0,这意味着变量将保留在缓存中,除非使用 wincache_ucache_delete()wincache_ucache_clear() 函数显式删除。

返回值

如果 key 是字符串,则函数在成功时返回 true,在失败时返回 false

如果 key 是一个数组,则函数返回

  • 如果数组中的所有 name => value 对都可以设置,则函数返回一个空数组;
  • 如果数组中的所有 name => value 对都不能设置,则函数返回 false
  • 如果有些可以设置而另一些则不能设置,则函数返回一个数组,其中包含在用户缓存中添加失败的 name=>value 对。

示例

示例 #1 wincache_ucache_add(),其中 key 为字符串

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

上面的示例将输出

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

示例 #2 wincache_ucache_add(),其中 key 为数组

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

上面的示例将输出

array(0) { } 
array(4) { 
  ["green"]=> int(-1) 
  ["Blue"]=> int(-1) 
  ["yellow"]=> int(-1) 
  ["cyan"]=> int(-1) 
} 
string(1) "6"

参见

添加注释

用户贡献注释

此页面没有用户贡献注释。
To Top