BLOGTIMES
2006/09/24

PEAR System_SharedMemory

  php  pear  memcached 
このエントリーをはてなブックマークに追加

NP_BlacklistでちょっとeAcceleratorの共有メモリ関数をいじくっていたんですが、ちょっと環境に依存しすぎなのでなんとか互換性が高い方法がないものかとPEARを眺めていたら面白いライブラリを見つけてしまいました。

PEAR :: Package :: System_SharedMemory

common OO-style shared memory API

System_SharedMemoryって見事にそのまんまな名前ですね。このライブラリは共有メモリ関数(一部、共有メモリでないものもある)を共通のインタフェイスで使えるようにするライブラリのようです。データベースに対するPEAR_DBのようなものだと思えばいいと思います。

対応実装

SharedMemory.php - getAvailableTypes()より

'eaccelerator' => 'Eaccelerator', // Eaccelerator (Turck MMcache fork) 'mmcache' => 'Mmcache', // Turck MMCache 'Memcache' => 'Memcache', // Memched 'shmop_open' => 'Shmop', // Shmop 'apc_fetch' => 'Apc', // APC 'apache_note' => 'Apachenote', // Apache note 'shm_get_var' => 'Systemv', // System V 'sqlite_open' => 'Sqlite', // SQLite 'file' => 'File', // Plain text 'fsockopen' => 'Sharedance', // Sharedance

けっこういろいろなインタフェイスに対応しています。

こうしてみると一口に共有メモリといっても種類がいろいろありますね。最後のコンパチビリティのための手段としてFileがちゃんと用意されているのもありがたいです。

それぞれの実装を見ると内容がほぼ1行で終わっているものから、Fileのようにかなり作りこみが行われているものまで様々でプログラミングの際には参考になります。


    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/1616
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン