1. 程式人生 > >nodejs連線redis資料庫簡單封裝-redis模組

nodejs連線redis資料庫簡單封裝-redis模組

from:http://blog.csdn.net/zzwwjjdj1/article/details/51940010

Redis是一個開源的使用ANSI C語言編寫、遵守BSD協議、支援網路、可基於記憶體亦可持久化的日誌型、key-value資料庫,並提供多種語言的API。

它通常被稱為資料結構伺服器,因為值(value)可以是 字串(String), 雜湊(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等型別。

效能極高 ,Redis讀的速度是110000次/s,寫的速度是81000次/s 。

本文以String型別的資料為例.主要是設定和獲取值.

封裝程式碼

redis.js
[javascript] view plain copy
  1. var db = {};  
  2. var redis = require("redis");  
  3. var client = redis.createClient();  
  4. client.on("error"function (err) {  
  5.   console.log("Error :" , err);  
  6. });  
  7. client.on('connect'function(){  
  8.   console.log('Redis連線成功.');  
  9. })  
  10. /** 
  11.  * 新增string型別的資料 
  12.  * @param key 鍵
     
  13.  * @params value 值  
  14.  * @params expire (過期時間,單位秒;可為空,為空表示不過期) 
  15.  * @param callBack(err,result) 
  16.  */
  17. db.set = function(key, value, expire, callback){  
  18.     client.set(key, value, function(err, result){  
  19.         if (err) {  
  20.             console.log(err);  
  21.             callback(err,null);  
  22.             return
    ;  
  23.         }  
  24.         if (!isNaN(expire) && expire > 0) {  
  25.             client.expire(key, parseInt(expire));  
  26.         }  
  27.         callback(null,result)  
  28.     })  
  29. }  
  30. /** 
  31.  * 查詢string型別的資料 
  32.  * @param key 鍵 
  33.  * @param callBack(err,result) 
  34.  */
  35. db.get = function(key, callback){  
  36.     client.get(key, function(err,result){  
  37.         if (err) {  
  38.             console.log(err);  
  39.             callback(err,null)  
  40.             return;  
  41.         }  
  42.         callback(null,result);  
  43.     });  
  44. }  
  45. module.exports = db;  

使用

[javascript] view plain copy
  1. var db = require('./redis');  
  2. //設定值
  3. db.set('test2''封裝方法''100'function(err,result){  
  4. if (err) {  
  5. console.log(err);  
  6. return;  
  7. }  
  8. console.log('插入資料結果:', result);  
  9. })  
  10. //獲取值
  11. db.get('test2'function(err,result){  
  12. if (err) {  
  13. console.log(err);  
  14. return;  
  15. }  
  16. console.log(result);  
  17. })  

測試結果