====== Redis 服务 ====== [[https://redis.io/docs/getting-started/|Redis Docs]] 按照官方说明ubuntu系统下进行安装就好。 ===== 安装与访问 ===== 前台启动服务 ''%%redis-server%%'' 按 ctrl + c 即可终止服务。后台启动使用 systemctl start redis-server systemctl status redis-server systemctl stop redis-server systemctl restart redis-server // 或者 service redis-server restart 访问服务器 (mac也就是客户端 本地redis服务也需要启动) redis-cli // 访问本地 redis-cli -h serverfin -p 6379 ===== 加密访问 ===== 设置密码: - 方法1:修改 /etc/redis/redis.conf 文件, "requirepass " 并重启服务 - 方法2:''%%CONFIG set requirepass ""%%'' 客户端连接 redis-cli -h serverfin -p 6379 serverfin:6379> AUTH "138629" serverfin:6379> subscribe maichannel // 认证后才允许订阅频道 ===== 订阅与发布 ===== // 订阅 redis 127.0.0.1:6379> SUBSCRIBE // 发布 redis 127.0.0.1:6379> PUBLISH "messa...." ===== Node.js 使用 ===== [[https://docs.redis.com/latest/rs/references/client_references/client_nodejs/|Redis with Node.js]] var redis = require('redis'); var client = redis.createClient("6379", "127.0.0.1", {auth_pass: "yoursecret"}); client.on('connect', function () { //client.hset("hash key", "field 1", "v1", redis.print); //client.hget("hash key", "field 1", redis.print); //client.quit(); }); var client1 = redis.createClient("6379", "127.0.0.1", {auth_pass: "yoursecret"}); client1.on('connect', function () { client1.subscribe("channel"); }); client1.on("message", function (channel, message) { console.log("普通订阅接收到来自" + channel + "的信息:" + message); if (message == "demo") { client.publish("demo","demo msg"); } if (message == "quit1") { client1.unsubscribe("channel"); console.log("普通订阅操作已经取消"); //client2.quite(); } }); var client2 = redis.createClient("6379", "127.0.0.1", {auth_pass: "yoursecret"}); client2.on('connect', function () { client2.psubscribe("channel*"); }); client2.on("pmessage", function (p, channel, message) { console.log("批量订阅接收到来自" + channel + "的信息:" + message); if (message == "quit2") { client2.punsubscribe("channel*"); console.log("批量订阅操作已经取消"); //client2.quite(); } });