Как настроить redis на loopback - PullRequest
0 голосов
/ 25 апреля 2019

Я уже пробовал Redis на своем сервере node.js, скрипт выглядит следующим образом:

//...

redisClient = redis.createClient();
redisClient.on("connect", function (err) {
  console.log("redis terkoneksi");
});
redisClient.on("error", function (err) {
  console.log("Redis Error " + err);
});

//...

//redisClient.set(...
//redisClient.get(...

В настоящее время я хочу попробовать установить петлю redis с помощью 'loopback-connector-redis'плагин.Я установил NPM, но я не знаю, как его использовать.Я попытался написать так:

var DataSource = require('loopback-datasource-juggler').DataSource;
var ds = new DataSource('redis');

ds = redis.createClient(); //script error (createClient is not function)
ds.on("connect", function (err) {
  console.log("redis terkoneksi");
});
ds.on("error", function (err) {
  console.log("Redis Error " + err);
});

У меня есть два вопроса: 1. Как использовать Redis на loopback?2. Как правильно написать, чтобы он мог ссылаться на redis 'set', 'get' и т. Д.

Я получу все ответы и предложения, спасибо.С наилучшими пожеланиями.

1 Ответ

0 голосов
/ 10 мая 2019

LoopBack предлагает два варианта разъема Redis.

  1. Поддерживаемое сообществом loopback-connector-redis , которое реализует CRUD-подобный API хранения с использованием Redis в качестве "базы данных".

  2. loopback-connector-kv-redis , обеспечивающий API-ключ-значение, более близкий к тому, как обычно используется Redis.

Поскольку вы упоминаете команды set и get, я рекомендую использовать разъем KV. См. https://github.com/strongloop/loopback-example-kv-connectors/tree/master/redis.lb3x для полного рабочего примера.

* * 1 022 (1) Создайте источник данных, поддерживаемый соединителем Redis KV.

Пример: server / datasources.json

{
  "db": {
    "host": "127.0.0.1",
    "port": 6379,
    "name": "db",
    "connector": "kv-redis"
  }
}

(2) Создайте новую модель для представления данных и операций KeyValue.

Пример: common / models / color.json

{
  "name": "Color",
  "base": "KeyValueModel",
  "idInjection": true,
  "options": {
    "validateUpsert": true
  },
  "properties": {},
  "validations": [],
  "relations": {},
  "acls": [],
  "methods": {}
}
* +1036 * (3) Присоедините модель к источнику данных.

Пример: server / model-config.json

{
  "Color": {
    "dataSource": "db",
    "public": true
  }
}

Теперь вы можете получить доступ ко всем KeyValueModel методам вашей модели, либо через REST API, либо из JavaScript:

const Color = app.models.Color;
await Color.set('my key', 'my value', {/*options*/});
...