Серия Node.js: Использование Redis

Redis
В последнее время модули аутентификации в режиме реального времени и входа в систему ASR компании использовали Redis, поэтому, пока завершаем функции, давайте организуем документацию по использованию Redis в Node.js с нуля.

1. Установите Redis локально

1.1 Адрес установки:

  • Официальный сайт серверного программного обеспечения Redis:redis.io/download

  • Серверное программное обеспечение Redis на github (бесплатно):GitHub.com/ms open tech/…

  • Инструмент управления рабочим столом базы данных Redis (платный):redisdesktop.com/download


1.2 Процесс установки:

  • Скачал с гитхаба [win-3.2.100] версия, скачать пакет: [Redis-x64-3.2.100.msi
  • Установка в один клик до завершения установки
  • Найдите путь установки и откройте redis-cli.exe в пути установки, чтобы использовать
  • И введите ping, и появится PONG, указывающий на то, что соединение установлено успешно.


  • Установить пароль: вы можете просмотреть пароль через config get requirepass и установить пароль через config set requirepass 123456. Однако при этом параметре пароль будет очищен после перезапуска Redis.Конечно, если это Redis на сервере, его нельзя перезапустить случайно.


  • Постоянный пароль можно установить на локальном Redis, Конкретный процесс выглядит следующим образом:

- 打开 redis.windows.conf 和 redis.windows-service.conf 的两个配置文件。
- 在配置文件中找到 requirepass 这个参数。
- 在它的这个 # requirepass foobared 语句下边
- 写下你的密码:requirepass 123456
- 例:
# requirepass foobared
requirepass 123456

- 备注:只修改一个文件是不行的
- 重启 Redis 生效
  • Перезапустите Редис:


  • После установки пароля открытие redis-cli.exe не будет иметь разрешения на работу.


  • На данный момент мы можем войти в систему следующим образом:

- 打开 cmd
- cd 到 Redis 的安装路径
- 输入指令:redis-cli.exe -h 127.0.0.1 -p 6000 -a xxx
-h: 是指地址 127.0.0.1 指的是本地,如果是远程的就写远程的地址
-p: 这边是端口号,具体看个人的配置 redis.windows.conf 里面的,默认是 6379
-a: 密码,和 -p 一样,没设置就不用写 -a了


2. Node.js подключается к Redis

2.1 Пакеты NPM

  • node_redis
  • GitHub: https://github.com/NodeRedis/node_redis

2.2, код подключения

  • Install

npm install redis

  • базовый

const redis = require("redis");
// 端口、IP、密码
let client = redis.createClient(redisPort, redisAddress, { auth_pass: redisPassword });
// set 插入
client.set('stringKey', 'stringValue'); 
client.set('stringKey', 'stringValue', 'EX', 10); // 可设置过期时间(单位:秒)
// get 获取
client.get('stringKey', (err, value) => {
    if (err) {
        console.log(err);
    }
    console.log(value);
});
// del 删除
client.del('stringKey');

  • опубликовать подписаться

const redis = require('redis');
// 端口、IP、密码
let client = redis.createClient(redisPort, redisAddress, { auth_pass: redisPassword });
// 监听客户端连接 Redis 成功,成功后执行回调
client.on("ready", () => {
    //订阅主题
    client.subscribe(redisTopic);
});
// 监听客户端连接 Redis 异常,异常后执行回调
client.on("error", function (error) {
    console.log(error);
});
// 监听订阅主题成功,成功后执行回调
client.on("subscribe", (channel, count) => {
    console.log(`订阅频道:${channel},当前总共订阅${count}个频道。`);
});
// 监听 Redis 发布的消息,收到消息后执行回调。
client.on("message", (channel, message) => {
    console.log(`当前频道:${channel},收到消息为:${message}`);
});            
// 监听取消订阅主题,取消后执行回调
client.on("unsubscribe", (channel, count) => {
    console.log(`取消订阅频道:${channel},当前总共订阅${count}个频道。`);
});

3. Другое (пока не придумал, что добавить, так что следите за обновлениями...)