データをサーバーに格納する

# Memcache::set

# memcache_set

(PECL memcache >= 0.2.0)

Memcache::set -- memcache_set — データをサーバーに格納する

### 説明

function Memcache::set(
string `$key`,
mixed `$var`,
int `$flag` = ?,
int `$expire` = ?
): bool
function memcache_set(
Memcache `$memcache`,
string `$key`,
mixed `$var`,
int `$flag` = ?,
int `$expire` = ?
): bool

Memcache::set() は、キー `key` に `var` という値を 関連付け、memcached サーバーに格納します。パラメータ `expire` は、データの有効期限を秒単位で指定します。もし 0 を指定した場合は その項目が期限切れになることはありません (これは、その項目のデータが memcached サーバー上にずっと残り続けることを保証するものではありません。 他の項目をキャッシュするための場所を確保するためにサーバーから 削除されてしまうこともあります)。 (zlib を使用して) その場でのデータの圧縮を行いたい場合は、 `flag` の値として、定数 `MEMCACHE_COMPRESSED` を指定します。

> 注意: リソース型の変数 (たとえばファイル記述子や接続記述子など) はキャッシュに保存できないことを覚えておきましょう。これは、 シリアライズした状態ではそれらのデータを適切に表すことが できないためです。

### パラメータ

`key`
  項目に関連付けられたキー。
`var`
  格納する値。文字列および整数値はそのままの形式で、それ以外の型は シリアライズされて格納されます。
`flag`
  項目を圧縮して格納する場合に `MEMCACHE_COMPRESSED` を使用します (zlib を使用します)。
`expire`
  項目の有効期限。ゼロの場合は有効期限なし (いつまでも有効) となります。Unix タイムスタンプ形式、あるいは現在からの 秒数で指定することが可能ですが、後者の場合は秒数が 2592000 (30 日) を超えることはできません。

### 戻り値

成功した場合に `true` を、失敗した場合に `false` を返します。

### 例

例1 Memcache::set() の例

    <?php
    /* 手続き型の API */

    /* memcached サーバーに接続します */
    $memcache_obj = memcache_connect('memcache_host', 11211);

    /*
    キー 'var_key' の項目の値を設定します。
    flag の値として 0 を使用し、圧縮は使用しません。
    有効期限は 30 秒です。
    */
    memcache_set($memcache_obj, 'var_key', 'some variable', 0, 30);

    echo memcache_get($memcache_obj, 'var_key');

    ?>

例2 Memcache::set() の例

    <?php
    /* オブジェクト指向の API */

    $memcache_obj = new Memcache;

    /* memcached サーバーに接続します */
    $memcache_obj->connect('memcache_host', 11211);

    /*
    キー 'var_key' に対応する値を設定します。その際、データの圧縮を行います。
    有効期限は 50 秒です。
    */
    $memcache_obj->set('var_key', 'some really big variable', MEMCACHE_COMPRESSED, 50);

    echo $memcache_obj->get('var_key');

    ?>

### 参考

- Memcache::add() - サーバーに項目を追加する
- Memcache::replace() - 既存項目の値を置換する

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open