タグ

memcachedとcacheに関するnsyeeのブックマーク (8)

  • KTのHTTPとMemcachedプロトコルのベンチを取ってみた - とほほのN88-BASIC日記

    環境は以下の通り mac mini 2.66GHz 4GB RAM kyotocabinet 1.2.30 kyototycoon 0.9.18 KTをMemcachd pluginサポート起動 ktserver -plsv /usr/local/lib/ktplugservmemc.dylib -plex 'port=2010'ベンチを取ったコードはこんな感じ とりあえずsetのベンチ #!/usr/bin/env perl use strict; use warnings; use Benchmark qw(:all); use Cache::KyotoTycoon; use Cache::Memcached::Fast; my $kt = Cache::KyotoTycoon->new( host => '127.0.0.1', port => 1978 ); my $mf = Ca

    KTのHTTPとMemcachedプロトコルのベンチを取ってみた - とほほのN88-BASIC日記
  • mixi Engineers’ Blog » スマートな分散で快適キャッシュライフ

    今日は以前のエントリーで書くと述べたConsistent Hashingに関して語らせて頂こうかと思います。ただしConsistent Hashingはセミナーやカンファレンスなどでかなり語られていると思いますので、コンセプトに関しては深入りせず、実用性に着目したいと思います。 問題定義 分散されたキャッシュ環境において、典型的なレコードを適切なノードに格納するソリューションはkeyのハッシュ値に対しmodulo演算を行い、その結果を基にノードを選出する事です。ただし、このソリューションはいうまでもなく、ノード数が変わるとキャッシュミスの嵐が生じます。つまり実世界のソリューションとしては力不足です。 ウェブサイトのキャッシュシステムの基はキャッシュがヒットしなかったらデータベースにリクエストを発行し、レコードが存在したらキャッシュしてクライエントに返すという流れです。ここで問題なのが一瞬

    mixi Engineers’ Blog » スマートな分散で快適キャッシュライフ
  • 最近のmemcached界隈の賑わいについてのメモ : DSAS開発者の部屋

    repcachedの開発をしている関係で、昨年あたりからmemcached界隈のウォッチを強化しています。 昨日のエントリでもちょっと書いたんですが、なぜかここ最近、にわかにmemcached界隈が賑やかになってきている感があります。具体的には、memcached互換の実装がいろいろと現れたり、新しいクライアントライブラリが登場したりなど。 そんなわけで、最近わたしが気になっている、memcached関連のあのプロダクトやこのプロダクトをささっとまとめてみたいと思います。 クライアントライブラリ (C) libmemcached Brian Akerさんによる、C言語用のライブラリ。 既存のC言語用のライブラリである、libmemcacheとapr_memcacheに続く、第3のC言語用ライブラリです。 Consistent Hashingも実装しているようです。 いままでベンチマークプロ

    最近のmemcached界隈の賑わいについてのメモ : DSAS開発者の部屋
  • mixi Engineers’ Blog » memcachedのストレージ層をmodularにしてみた

    前回に続いてまたmemcachedの話をしたいと思います。今回は改造編です。 ハッシュデータベースサーバなどの実装でmemcachedライクなものを書くのも良いですが、以前からmemcached自体のストレージをmodularにできたら面白いかも?と思っていたので実験的にmemcachedを改造してみました(memcached-1.2.4がベース)。 とりあえず名前はmemcached modularの略でmmcmodと名づけて、mikioさんのTokyo Cabinetをストレージとして使うモジュール(厳密にいうと共有ライブラリ)を書きました。ソースコードは後日CodeReposの方に上げますがとりあえずこの記事で公開します。ちなみに新しいプロダクトを作る気はなくて、最終的にpatchを作ることが目的です。 で、話を続けると今回の改造を簡単にビジュアライズするとこんな感じです: 図のmm

    mixi Engineers’ Blog » memcachedのストレージ層をmodularにしてみた
  • memcached: a distributed memory object caching system

    What is Memcached? Free & open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load. Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering. Memcached is simple yet powerful.

  • [DBIx::Class][Perl] Cache::Memcached と DBIx::Class - cyberlib.enterbrainz.com

    [DBIx::Class] [Perl] Cache::Memcached (Cache::FileCache,Catalyst::Plugin::Cache::Memcachedも) はオブジェクトがキャッシュできる。とても便利。 でもDBIx::Classのオブジェクトは、キャッシュできないことがある。 サンプル: #!/usr/bin/perl use strict; use Cache::Memcached; use TestDB; my $memd = new Cache::Memcached {'servers' => [ "127.0.0.1:11211" ]}; my $schema = TestDB->connect("dbi:mysql:testdb;localhost",'user','password'); #OK pattern

  • repcached 1.0リリースの補足とちょっとしたHowTo : DSAS開発者の部屋

    前のエントリでrepcached 1.0のリリースをお知らせしました。 開発の動機はプロジェクトページにちょっと書いたのですが、たいせつなことをひとつ書き忘れていました。 repcachedを開発しようと思い立ったのは、ひとことでいうと「キャッシュサーバといっても止まらないようにしたい」、別ないい方をすると「サーバ管理者だって夜はぐっすり眠りたい」というものでした。 そしてふたりのエンジニアが自ら社内向けに企画・提案してrepcachedの設計・開発にとりかかり、プロダクション環境で使えるようなレベルのものができあがりました。 これがrepcachedを開発した動機です。 さて、昨日はrepcachedをみなさんに向けて公開しました。 いうまでもなく、repcachedを社内に閉じて外部には公開せずに使い続けるという選択肢もありました。 でもわたしたちはそうしませんでした。 わたしたちはい

    repcached 1.0リリースの補足とちょっとしたHowTo : DSAS開発者の部屋
  • mixi Engineers’ Blog » libmemcachedで快速キャッシュ生活

    みんな大好きなmemcached。今日はBrian AkerのC言語用クライエントライブラリについて書きたいと思います。日語の情報がとても少なく、ドキュメンテーションも英語だけという事で興味はあるけど手をつけていないという方のお役に立てれたらなと思います。 題の前に why libmemcached? 既にlibmemcacheが存在するのに何故、libmemcached?かと言うと理由の一つは最近libmemcacheの開発が止まったからです。家ではそれが理由でlibmemcacheではなくlibmemcachedを推奨してますね。又、効率的なメモリ使用、Consistent Hashing、様々なハッシュアルゴリズム、新しいオペレータに対応している等という宣伝文句があります。apr_memcacheというライブラリも存在しますが自分は使った事がないためノーコメント。 ただ、推奨さ

    mixi Engineers’ Blog » libmemcachedで快速キャッシュ生活
  • 1