Redis操作コマンド大全(NodeJS版)

5394 ワード

/*——————————————————————————————
*このケースは、次の実行環境に基づいています.
*システム:CentOS 5.x
*NodeJSバージョン:0.9以上
*Redisバージョン:2.8
*Redis-nodejs拡張:0.12.1
/*——————————————————————————————
 

Part 1:実装拡張


次のコマンドを使用します.npm -g install redis
Redisインスタンス:Host: 127.0.0.1  Port: 6379
 

Part 2:インスタンス

var redis = require("redis"),
client = redis.createClient(6379,"127.0.0.1");

 
client.info(function(err,response){

        console.log(err,response);

});



//          ,err   null



REDIS接続の作成
次のコードは、redis socket接続を作成し、redisサーバ情報、すなわちredis-cli INFOコマンドをクエリーすることを示します.
var redis = require("redis");

var client = redis.createClient(6379,'127.0.0.1');



client.info(function(err,response){

        console.log(err,response);

});

上のコードには、次のような問題があります.
1.サーバーが接続されていない場合、どうなりますか?
2.接続がタイムアウトした場合、どのように処理しますか?
以上の問題に対して、誤り処理をよりよく行うために、コードをいくつか修正する必要があります.これは良い習慣になります.
createClient(port,host,options) 

          ,        ,      IP/  ,          ,KEY=>VALUE  



  :

var client = redis.createClient(63719,'127.0.0.1',{connect_timeout:1}); //      



    :

Nodejs        2 ,1            try ... catch ..     ,

         , redisClient    error    ,        emmit     ,    :



client.on('error',function(error){

        console.log(error);

});

 

Set


client.set(key,value,callback)、callback関数には2つのコールバックパラメータがあり、errorとresponse、errorは操作中のエラープロンプト値nullはエラーがないことを示し、responseはブール値client.set("Roban","lee",function(err,response){
console.log(err,response);
});
 

Get


client.get(key,callback),callback関数には2つのコールバックパラメータがあり,errorとresponse,errorは操作中のエラープロンプト値nullはエラーがないことを示し,responseは取得した値,nullはデータclient.get("Roban",function(err,response){
console.log(err,response); //will print lee
});
が取得されていないことを示す

Hset


client.hset(hashkey,field,value,callback)ハッシュデータ型、1番目のパラメータはKEY名、2番目は設定するフィールドKEY、3番目は値、4番目のパラメータはコールバックパラメータ、内容とsetが一致するclient.hset("roban:demo:hset","today","fine",function(err,response){
console.log(err,response);
});

Hmset


client.hmset(hashkey,field,value,field,value.....callback)ハッシュデータ型、最初のパラメータはKEY名、後のパラメータは不固定パラメータ、データフォーマットはkey,value,key,value client.hset("roban:demo:hset","lastday","notgood","nextday","willbefine",function(err,response){
console.log(err,response);
});

Hget


client.hget(hashkey,field,callback)hashデータのフィールド値client.hset("roban:demo:hset","today",function(err,response){
console.log(err,response);
});
を取得する
 

Hgetall


client.hgetall(hashkey,callback)は、フィールドと値client.hset("roban:demo:hset",function(err,response){
console.log(err,response);
});
を含むhashデータ種のすべてのデータを取得する
 

BLpop


ブロックされたポップアップキューデータは、データの上部(左側)からポップアップされ、BLPOPが呼び出されると、所与のkey内に少なくとも1つの非空リストがある場合、遭遇した最初の非空リストのヘッダ要素がポップアップされ、ポップアップされた要素が属するリストの名前とともに、構成結果が呼び出し者に返される.複数の所与のkeyが存在する場合、BLPOPは所与のkeyパラメータの順に各リストを順次チェックする.構文:BLPOP key[key...]timeout
次のコードは、roban:demo:blpopというキューを10秒間ブロックし、データがあればすぐに左側からポップアップし、なければ10秒までブロックし続けます.client.blpop("roban:demo:blpop",10,function(err,response){
console.log(err,response);
});

 

BRpop


ブロックポップアップキューデータは、データの末尾(右側)からポップアップされ、複数のkeyパラメータが与えられた場合、パラメータkeyの前後順に各リストを順次チェックし、最初の非空リストの末尾要素をポップアップします.使用方法はBLPOPと一致しているが、データのポップアップ方法が異なる文法:BRPOP key[key...]timeout client.brpop("roban:demo:blpop",10,function(err,response){
console.log(err,response);
});

 

SADD


1つ以上のメンバー要素を集合keyに追加すると、すでに集合に存在するメンバー要素は無視されます.keyが存在しない場合は、メンバーとしてmember要素のみを含むセットを作成します.keyがコレクションタイプでない場合、エラーが返されます.文法:SADD key member[member...]client.sadd("roban:demo:sdemo",hello,this,fuck,world,function(err,response){
console.log(err,response);
});

 

SCARD


コレクションkeyの基数(コレクション内の要素の数)を返します.構文:SCARD keyclient.scard("roban:demo:sdemo",function(err,response){
console.log("Number of key roban:demo:sdemo is:" + response);
});

 

SPOP


コレクション内のランダム要素を削除して返します.
ランダムな要素を1つだけ取得したいが、その要素をセットから削除したくない場合は、SRANDMEMBERコマンドを使用します.構文:SPOP keyclient.spop("roban:demo:sdemo",function(err,response){
console.log("Poped value of key roban:demo:sdemo is:" + response);
});

 

SRANDMEMBER


コマンドの実行時にkeyパラメータのみが指定されている場合は、セット内のランダム要素を返します.SRANDMEMBERコマンドは、Redis 2.6のリリースからオプションのcountパラメータ1を受け入れます.countが正数であり、集合基数より小さい場合、コマンドはcount個の要素を含む配列を返します.配列内の要素はそれぞれ異なります.countが集合基数より大きい場合は、集合全体を返します.2.countが負数の場合、コマンドは配列を返します.配列内の要素は複数回繰り返され、配列の長さはcountの絶対値になります.この操作はSPOPと似ていますが、SPOPはランダム要素をセットから削除して返します.SRANDMEMBERはセットを変更せずにランダム要素だけを返します.
構文:SRANDMEMBER key[count]client.srandmember("roban:demo:sdemo",function(err,response){
console.log("Poped value of key roban:demo:sdemo is:" + response);
});