私はnode.jsを使用しており、サーバー上のデータの一部をキャッシュするためにredisを使用しています。
私のコード:
var client = redis.createClient();
client.on("error", function (err) {
console.log("Error " + err);
});
client.flushall();
function redis_get(key){
client.get(key, function(err, value) {
if (err) {
console.error("error");
} else {
return value;
}
});
}
function redis_set(key, value){
client.set(key, JSON.stringify(value), function(err) {
if (err) {
console.error("error");
}
return true
});
}
function main(){
var new_items = [{"id": 1, "name": "abc"}, {"id": 2, "name": "xyz"}, {"id": 3, "name": "bbc"}];
//set data in redis
redis_set("key", new_items);
//get data from redis
var redis_items = redis_get("key");
}
コードの要約:
main関数が呼び出され、さらに2つの他の関数(redis_setまたはredis_get)が呼び出されます。Redis_setはキーと値のペアを取りますが、redis_getはデータを指すキーを取ります。
問題:
セットは完全に機能しますが、問題はGETにあります。redisで設定した方法でデータを取得できません。データを設定したときにデータを文字列化したので、getでJASON.parse()を使用しました。