PHP Conference Japan 2024

Memcached::decrement

(PECL memcached >= 0.1.0)

Memcached::decrement減少數值項目的值

說明

public Memcached::decrement(
    字串 $key,
    整數 $offset = 1,
    整數 $initial_value = 0,
    整數 $expiry = 0
): 整數|false

Memcached::decrement() 會將數值項目的值減少指定的 offset 值。如果項目的值不是數字,將會導致錯誤。如果操作會使值小於 0,則新值將會是 0。如果鍵值不存在,Memcached::decrement() 會將項目設定為 initial_value 參數的值。

參數

key

要遞減的項目的鍵值。

offset

要遞減項目值的數量。

initial_value

如果項目目前不存在,則要設定的初始值。

expiry

要設定在項目上的到期時間。

返回值

成功時返回項目新的值,失敗時返回 false

範例

範例 #1 Memcached::decrement() 範例

<?php
$m
= new Memcached();
$m->addServer('localhost', 11211);

$m->set('counter', 5);
$n = $m->decrement('counter');
var_dump($n);

$n = $m->decrement('counter', 10);
var_dump($n);

var_dump($m->get('counter'));

$m->set('counter', 'abc');
$n = $m->increment('counter');
// ^ 將因項目值非數值而失敗
var_dump($n);
?>

上述範例將輸出:

int(4)
int(0)
int(0)
bool(false)

另請參閱

新增筆記

使用者貢獻的筆記 3 則筆記

Pramod Patil
10 年前
decrement 不會更改已儲存鍵/值的 TTL。
Pramod Patil
10 年前
發現可能的錯誤
當 memcached::OPT_BINARY_PROTOCOL 設定為 true 時,decrement 會失敗並返回 -1。

在 PECL Memcached 2.1.0 和 libmemcached 1.0.8 版本上測試
jbaginski
11 年前
PECL memcached < 0.2.0

public int Memcached::decrement ( string $key [, int $offset = 1 ] )
To Top