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