bonar note

京都のエンジニア bonar の技術的なことや技術的でない日常のブログです。

[perl][unix] memcached で削除時に書き込みブロックタイムが設定できる件

id:kazeburo さんから教えてもらったのでメモ。

memcachedはキーを削除するときに、その後のそのキーへの書き込みブロックタイムを設定出来る。
perl用モジュール Cached::Memcached だと、

       "delete"
           $memd->delete($key[, $time]);

           Deletes a key.  You may optionally provide an integer time value (in seconds) to tell the memcached server to block new writes to this key for that many
           seconds. (Sometimes useful as a hacky means to prevent races.)  Returns true if key was found and deleted, and false otherwise.

とちゃんと書いてありますね。libmemcached ではこんな感じです。

/* Delete commands: */
mc_delete(mc, key, key_len, hold_timer);

http://people.freebsd.org/~seanc/libmemcache/README#examples

$memd->delete("somekey"); みたいな消し方しかしてなくて知らなかった。。これは使えそうですね。