看看我這張 web 系統架構圖,那就知道
使用統一存儲格式的好處了。
在這種結構中你就單純使用 java ,或 php 某一種單一語言描述格式,存儲你集群交互的數據嗎!?使用ProtocolBuffers 吧,
Google 已經有 現成的api來幫你擴展了。
參考:http://blog.csdn.net/lcj8/archive/2009/02/17/3900157.aspx

作為
Memcached 就是為集群使用,那么作為在緩存存儲的數據我想也應該適用與各種環境,這時候 數據結構協議
Google ProtocolBuffers
參考:http://code.google.com/apis/protocolbuffers/docs/overview.html
其他語言:http://code.google.com/p/protobuf/wiki/OtherLanguages
(可適用與多種語言,
javascript 讀取緩存中的數據 ,你可以想象下你的 web服務開發 的將來!)
目前學習perl 中 就先上個這的代碼:
參考:
http://search.cpan.org/~gariev/Google-ProtocolBuffers-0.08/lib/Google/ProtocolBuffers.pm#___top
#!/bin/perl -w
use Cache::Memcached;
use Google::ProtocolBuffers;
#開啟 memd
my $memd = new Cache::Memcached{servers => ['10.0.2.15:11211'] };
#聲明 緩存 存儲 protocol 格式
my $key='test';
Google::ProtocolBuffers->parse("
message Person{
required int32 id =1;
required string name =2;
}
",{create_accessors=>1});
my $data=Person->encode({
id=>123,
name=>'liukaiyi'
});
#緩存存儲
$memd->add($key =>$data,3600);
#######################################################################
my $memd = new Cache::Memcached{servers => ['10.0.2.15:11211'] };
my $person;{
#從緩存中取出
$person = Person->decode($memd->get($key));
}
print $person->id,"-",$person->name;
結果:
123-liukaiyi
整理 m.tkk7.com/Good-Game