6月 272012
<< USキーボード vs JISキーボード || 炊き込みご飯 >>
インストール
https://github.com/elbart/node-memcacheを使う。npm install memcache
プログラム書いた
2秒expireで書き込み→すぐ読む→3秒待って読む、という例。memcache-test.js
var memcache = require('memcache');
var client = new memcache.Client(11211, 'localhost');
client.connect();
var get = function(){
client.get('name', function(err, val){
if(!err) console.log(val);
else console.error('get error');
});
};
client.set('name', 'shokai', function(err, res){
if(err){
console.error('set error');
process.exit(1);
}
get();
setTimeout(function(){
console.log('wait 3 sec');
get();
}, 3000);
}, 2);
実行
node memcache-test.js
結果
shokai
wait 3 sec
null
値がまだ書き込まれていないかexpireしている時はnullが返ってくる。
返り値のerrorは、setはnullが、getはundefinedが入っていた。
setのresultには保存失敗した場合はSTORED返ってきた。errorの方だけ見ればいいかも。
接続エラー
memcahedが起動していなかったり、client.connect()せずにsetするとこういうエラーがでる。最初connect忘れていてなんだこのエラーは!?と思った。
node_modules/memcache/lib/memcache.js:110
this.conn.write(query + crlf);
^
TypeError: Cannot call method 'write' of null