memcached は、汎用の分散型メモリキャッシュシステムである。もともと によって LiveJournal サービスのために開発されたが、現在は多数のサイトで利用されている。memcached は、データとオブジェクトをメモリ内にキャッシュすることでデータベースから読み出しを行う回数を減少させ、データベースを用いた Web サイトを高速化するために良く用いられる。memcachedは緩やかなフリーソフトウェアライセンス()であるBSDライセンスに従い頒布されている。memcached は適切に設定されたファイアウォールを用いるサーバ上で使用するか、そうでない場合はSASL認証のオプション付きでコンパイルしたものを使用できる(1.4.3以降)。既定では、memcached はポート 11211 番を使用する。また、libevent を使用している。memcached の API は、複数のマシン上に分散された巨大なハッシュテーブルを提供する。テーブルがいっぱいの場合、以降のデータの新規挿入により古いデータはLeast Recently Used 順序で削除される。memcached を用いるアプリケーションは、背後にあるデータベースなどの低速な記憶装置へのアクセスの前に memcached のリクエストを挿入する。memcached のシステムは、YouTubeやLiveJournal、Wikipedia、SourceForge、Facebook、Digg、などの大規模な有名サイトで使用されている。データベースやオブジェクト生成のクエリーを memcached を使うよう変更することは簡単である。単純なデータベースのクエリーを用いた場合、サンプルコードは下記のようになる。(以下の例は全て擬似コードである。memcached の処理やプログラミング言語は、使用する API により異なる。)memcached を用いるよう変更すると、同じコードは下記のようになる。サーバは、まず memcached に対して一意のキー "userrow:userid" が存在するかどうかの確認を行う。存在しないという結果であれば、通常のようにデータベースに select を要求し、memcached の add API を呼び出しキーを追加する。しかし get_foo 関数のみが変更され、DBに対して更新が実行される部分が変更されなければ get_foo は誤ったデータを取り出すことになる。従って add の呼び出しに加えて更新の処理も必要になる。そのためには memcached の set 関数を使う。この処理はデータベースのクエリーが成功すると仮定して現在のキャッシュのデータをデータベースの新しいデータと合致するよう更新する。異なるアプローチとして、memcached のキャッシュを delete 関数で無効にし、以降のデータの取り出しがキャッシュミスとなるようにする方法もある。
出典:wikipedia
LINEスタンプ制作に興味がある場合は、
下記よりスタンプファクトリーのホームページをご覧ください。