如何在环回上设置Redis

时间:2019-04-25 10:41:08

标签: redis loopbackjs

我之前在node.js服务器上尝试过Redis,脚本看起来像这样:

//...

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(...

目前,我想尝试使用“ loopback-connector-redis”插件安装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? 2.如何正确编写,使其可以引用redis的“ set”,“ get”等?

我将收到所有答案和建议,谢谢。 最好的问候。

1 个答案:

答案 0 :(得分:0)

LoopBack提供了两种Redis连接器。

  1. 由社区维护的loopback-connector-redis,它使用Redis作为“数据库”来实现类似于CRUD的存储API。

  2. loopback-connector-kv-redis提供的键值API与通常使用Redis的方式更接近。

由于您提到的是setget命令,所以我的建议是使用KV连接器。有关完整的工作示例,请参见https://github.com/strongloop/loopback-example-kv-connectors/tree/master/redis.lb3x

(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": {}
}

(3) 将模型附加到数据源。

示例:server/model-config.json

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

现在,您可以通过REST API或JavaScript访问模型上的所有KeyValueModel方法:

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