0

我无法连接到 Svelte 应用程序内的 Redis 数据库。为此,我正在尝试制作一个自定义 store.js,但我已经在努力导入节点客户端(无论我使用什么客户端)。对于'ioredis',文档说像这样使用它:

const Redis = require("ioredis");
const redis = new Redis();

任何人都可以就如何实现它提出一些提示吗?这个想法是有一个应用程序,其唯一目的是使用 pub/sub 方法解析/检索 REDIS db 的值。我想我错过了汇总的一些东西以及它在编译时处理 nodejs 依赖项的方式,或者可能根本不可能那样做?

4

1 回答 1

0

商店需要能够在浏览器中运行,因此它们将无法redis直接与节点包通信或导入节点包(除非导入的包是同构的或具有等效的浏览器)。

您可以创建一个包装 Redis 调用的 HTTP 服务器,而不是直接访问。

存储是远程数据的副本。每次客户端更新 Redis(通过 HTTP 端点)时,它也应该更新本地存储。

就像是:

export const store = writable(...)

export async function updateRedis(stuff) {
  const response = await fetch('/my-update-url', {method: 'POST', body: JSON.stringify(stuff)})
  const result = await result.json()

  // tell the store about new results, either with set() or update()
  store.set(result)
}
于 2020-04-26T19:26:01.053 回答