node.js應用Redis
Node.js下使用Redis,首先:
1、有一臺安裝了Redis的伺服器,當然,安裝在本機也行
2、本機,也就是客戶端,要裝node.js
3、專案要安裝nodejs_redis模組
注意第 3 點,不是在本機安裝就行了,而是說,要在專案中安裝(引用)。
方法是,DOS視窗,在專案目錄下,輸入
npm install redis
這樣就將nodejs_redis下載一份,放到當前目錄下了。看看,多了一個資料夾:node_modules\redis
編寫以下程式碼,儲存到當前目錄下\index.js
var redis = require("redis"),//召喚redis
/*
連線redis資料庫,createClient(port,host,options);
如果REDIS在本機,埠又是預設,直接寫createClient()即可
redis.createClient() = redis.createClient(6379, '127.0.0.1', {})
*/
RDS_PORT = 6379, //埠號
RDS_HOST = '192.168.8.30', //伺服器IP 要連線的A伺服器redis
RDS_PWD = '123456', //密碼
RDS_OPTS = {db:9}, //設定項
client = redis.createClient(RDS_PORT,RDS_HOST,RDS_OPTS);
//如果需要驗證,還要進行驗證
//client.auth(password, callback);
client.auth(RDS_PWD,function(){
console.log('通過認證');
});
// if you'd like to select database 3, instead of 0 (default), call
// client.select(3, function() { /* ... */ });
client.on('connect',function(){
//redis.print,回撥函式,將redis的返回值顯示出來。上一句執行結果,將返回“OK”
client.set('author', 'Wilson',redis.print);
// 設定過期時間 10s後過期
//client.set('key','value','EX',10)
client.get('author', redis.print);
console.log('connect');
});
client.on('ready',function(err){
console.log('ready');
});
//錯誤監聽?
client.on("error", function (err) {
console.log("Error " + err);
});
client.hset("hash key", "hashtest 1", "some value", redis.print);
client.hset(["hash key", "hashtest 2", "some other value"], redis.print);
//遍歷雜湊表"hash key"
client.hkeys("hash key", function (err, replies) {
console.log(replies.length + " replies:");
replies.forEach(function (reply, i) {
console.log(" " + i + ": " + reply);
});
client.hget("hash key","hashtest 1",redis.print);
//可同時設定多個key,value
client.hmset('hash 1', 'key', 'value111', 'key2', 'value222', 'key3', 'value3', redis.print);
//可同時獲取多個key
client.hmget('hash 1', 'key', 'key2', 'key3', redis.print);
/*兩種都可以斷掉與redis的連線,
end()很粗暴,不管3721,一下子退出來了,上面那句獲取雜湊表"hash key"的某個元素值的表示式將沒有結果返回
而quit()則是先將語句處理完畢再幹淨地退出,斯文得很
*/
//client.end();
client.quit();
});
執行:
DOS視窗,當前專案目錄下,輸入
node index.js
- publish/subscribe(釋出/訂閱)
const sub = redis.createClient() // 訂閱者
const pub = redis.createClient() // 釋出者
var msg_count = 0;
sub.on("subscribe", function (channel, count) {
client.publish("a nice channel", "I am sending a message.");
client.publish("a nice channel", "I am sending a second message.");
client.publish("a nice channel", "I am sending my last message.");
});
sub.on("message", function (channel, message) {
console.log("sub channel " + channel + ": " + message);
msg_count += 1;
if (msg_count === 3) {
sub.unsubscribe();
sub.quit();
client.quit();
}
});
ps aux|grep redis //檢視開啟的redis
kill -9 1245(redis的開啟號) //殺死開啟程式
參考資料:https://github.com/mranney/node_redis
參考:https://blog.csdn.net/q1512451239/article/details/56488686
https://www.e-learn.cn/content/javascript/1079912
相關文章
- redis應用Redis
- Redis 應用-GeoRedis
- Redis 應用-限流Redis
- Node.js 系列:構建原生 Node.js 應用Node.js
- Redis作者談Redis應用場景Redis
- Redis 高階應用Redis
- 用 Express 和 AbsurdJS 做 Node.js 應用ExpressNode.js
- Node.js 應用 peer dependency 的用法Node.js
- 使用 HTTP/2 加速 Node.js 應用HTTPNode.js
- [譯]擴充套件 Node.js 應用套件Node.js
- 2、Node.js 第一個應用Node.js
- Working With Node.js and RedisNode.jsRedis
- Redis 應用-點陣圖Redis
- Redis 應用-分散式鎖Redis分散式
- redis實際應用-限流Redis
- redis的應用場景Redis
- Redis詳解以及Redis的應用場景Redis
- Redis與Lua及Redis-py應用LuaRedis
- Node.js Web應用程式碼熱更新Node.jsWeb
- Node.js 子程式與應用場景Node.js
- 使用 NestJS 開發 Node.js 應用Node.js
- 如何用node.js建立一個應用Node.js
- 伸縮擴充套件Node.JS應用套件Node.js
- Node.js 花盒:Redis 的使用Node.jsRedis
- Redis 應用場景彙總Redis
- Redis常見應用場景Redis
- Redis之Lua的應用(四)Redis
- Redis應用配置項說明Redis
- redis的incr和hash應用Redis
- Redis實際應用場景Redis
- Redis In Action 筆記(五):使用 Redis 支援應用程式Redis筆記
- Node.js 優缺點以及應用場景Node.js
- 教你使用Docker容器化Node.js應用程式DockerNode.js
- 模組化方式構建Node.js應用程式Node.js
- 提升 Node.js 應用效能的 5 個技巧Node.js
- 5 個快速的 Node.js 應用效能提示Node.js
- heX:用HTML5和Node.JS開發桌面應用HTMLNode.js
- node.js 連線外網redisNode.jsRedis