Node.js 在没有安装redis数据存储的情况下,redis客户端可以工作吗?

Node.js 在没有安装redis数据存储的情况下,redis客户端可以工作吗?,node.js,typescript,redis,Node.js,Typescript,Redis,在我的节点web服务器中,我正在使用npm模块redis 当我运行代码时 const client = redis.createClient(); client.on("error", function (err) { console.log("Error " + err); }); client.hmset(["key", "test keys 1", "test val 1", "test keys 2", "test val 2"], function (err, res) {}

在我的节点web服务器中,我正在使用npm模块redis

当我运行代码时

const client = redis.createClient();
client.on("error", function (err) {
    console.log("Error " + err);
});

client.hmset(["key", "test keys 1", "test val 1", "test keys 2", "test val 2"], function (err, res) {});
我得到一个错误:

Error Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
我没有安装redis数据库。我需要这个吗?
如果没有,我的代码中有什么遗漏吗?

是的,您需要安装Redis并确保服务器正在运行。这是下载redis的官方页面的链接

在应用程序代码中,您需要确保使用正确的端口和主机地址连接到Redis服务器。默认情况下,Redis服务器应该运行在
127.0.0.1:6379
上,默认情况下,
Redis.createClient
将尝试连接到该服务器。如果您的Redis服务器正在另一个端口或主机上运行,则需要在连接时指定这些详细信息,例如:

redis.createClient({
  host: '<the host where redis is running>',
  port: '<the port where redis is running>'
});
redis.createClient({
主机:“”,
端口:“”
});

您可以查看有关使用Redis连接到Redis服务器时可以提供的选项的更多信息。createClient

Redis是内存中的数据存储,但它不在应用程序进程的内存中。它要求您的应用程序(这里是节点web服务器)使用redis客户端通过网络连接到redis服务器实例。所以,是的,你需要安装一个redis数据库来使用redis客户端。memcache也是这样吗?是的,memcache也是这样。这些数据库的目的是前端web应用程序(node.js应用程序)可以是无状态的。前端的多个实例可以连接到同一个redis/memcache实例,使所有内容保持同步。如果您担心使用网络的性能,请不要担心!通过将所有内容保存在内存中并使用智能网络协议,在web前端“附近”使用redis实例的速度非常快。要使用内存缓存,为什么需要安装完整的数据库。如果我需要安装一个数据库,那么它在内存中是怎样的呢?请原谅我的语言,它不是一个数据库。您正在安装的基本上包括一个服务器,它公开了您描述的内存中的db以及运行Redis所需的一些其他程序。我会更新帖子以删除数据库文本。