2018年3月24日 星期六

Node.js 使用 Redis

[安裝 Redis]
$ npm install redis --save
也可以再安裝hiredis
$ npm install hiredis --save
說明:
1.hiredis 是非阻塞的,且速度較快
2.沒裝 hiredis 時,會用純的 javascript parser,有裝 hiredis 時,則會使用 hiredis parser


安裝 hiredis 時,若出現「make: cc: Command not found」錯誤
表示系統沒有安裝 gcc,所以編譯失敗。
安裝 gcc
$ yum install gcc
若出現「make: g++: Command not found」錯誤。
安裝 gcc-c++
$ yum install gcc-c++


[Node.js 存取 Redis 快取資料]
"use strict";

//redis 連線設定
const REDIS_HOST = "127.0.0.1";
const REDIS_PORT = 6379;
const REDIS_OPTS = {};
const REDIS_PASS = "密碼";

let redis = require('redis');
let redis_client = redis.createClient(REDIS_PORT, REDIS_HOST, REDIS_OPTS);
redis_client.on("error", function (err) {
    console.log("Error:" + err);
});
redis_client.auth(REDIS_PASS);//密碼驗證

//設定、讀取資料後,從 redis.print 查看執行結果
redis_client.set("aa", "test", redis.print);//設定key aa 的資料為 test
redis_client.get("aa", redis.print);//取得key aa 的資料

//讀取資料後,利用 callback function 處理取得的資料
redis_client.get("aa", function (err, results) {
    console.log(err);//沒錯誤,會是 null
    console.log(results);//取得的資料
    //....後續處理....
});
//關閉連線(如同送出 quit 指令)
client.quit();
//強制關閉連線(不等所有回應都解析完畢)
client.end(flush);//flush=>true|false 若設為 false,則運行中的指令都會默默失敗



參考:
GitHub - NodeRedis/node_redis: redis client for node
Node Redis
发现node.js 的redis模块更新了。支持hiredis 了 - CNode技术社区
Nodejs学习笔记(九)--- 与Redis的交互(mranney/node_redis)入门 - porschev - 博客园
Using Redis with Node.js
《Redis入門指南》一5.4 Node.js與Redis - ITW01



沒有留言:

張貼留言