ConFoo 2025

Memcached::append

(PECL memcached >= 0.1.0)

Memcached::appendデータを既存のアイテムに追記する

説明

public Memcached::append(string $key, string $value): ?bool

Memcached::append() は、指定した文字列 value を既存のアイテムの値として追記します。 value を文字列に強制変換する理由は、 異なる型を追記した場合の挙動が定義されていないからです。

注意:

Memcached::OPT_COMPRESSION が有効になっている場合は、 この操作は失敗して警告が発せられます。 すでに圧縮されている可能性のあるデータに圧縮したデータを追記することはできないからです。

パラメータ

key

値の格納先のキー。

value

追記する文字列。

戻り値

成功した場合に true を、失敗した場合に false を返します。 圧縮が有効になっている場合は null を返します。

エラー / 例外

圧縮が有効になっている場合は null を返し、 E_WARNING が発生します。

例1 Memcached::append() の例

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

$m->set('foo', 'abc');
$m->append('foo', 'def');
var_dump($m->get('foo'));
?>

上の例の出力は以下となります。

string(6) "abcdef"

参考

add a note

User Contributed Notes 1 note

up
1
mattsch at gmail dot com
9 years ago
This method emits this php warning if OPT_COMPRESSION is not explicitly set to false (tested with libmemcached 1.0.18 & pecl-memcached 2.1.0):

PHP Warning: Memcached::append(): cannot append/prepend with compression turned on
To Top