📜  Node.js Redis 模块

📅  最后修改于: 2022-05-13 01:56:20.227000             🧑  作者: Mango

Node.js Redis 模块

Redis 是一个用于存储数据结构的开源存储。它以多种方式使用。它用作数据库、缓存和消息代理。它可以存储数据结构,例如字符串、哈希、集合、排序集、位图、索引和流。

Redis 对 Node.js 开发人员非常有用,因为它减少了缓存大小,从而提高了应用程序的效率。但是,将 Redis 与 Node.js 应用程序集成起来非常容易。

先决条件:在开始使用我们的应用程序之前,请确保在您的系统中安装以下内容:

  1. 您选择的 IDE。
  2. Redis 安装在你的系统中。检查您正在使用以下命令的版本:
    redis cli --version
  3. 在您的系统中安装和配置 Node.js、NPM。
  4. Node.js 和 Redis 的基础知识。

入门:首先使用package.json文件初始化应用程序。键入以下命令:

npm init

现在,通过以下命令安装redis模块:

npm install redis --save

现在,创建一个新文件并将其命名为app.js。您可以随意命名文件。在app.js文件中,编写以下代码:

文件名:app.js

var redis = require("redis");
var client = redis.createClient();
  
client.on("connect", function() {
  console.log("Connection Successful!!");
});

在这里,我们正在导入redis模块,然后为 redis 创建一个客户端。然后使用客户端来操作模块。在上面的代码中,我们正在创建一个服务器。要运行应用程序,只需键入以下命令:

node app.js

上述代码的输出将在控制台中记录为:

Connection Successful!!

存储字符串:要在 Redis 中存储字符串,在 app.js 文件中编写以下代码:

var redis = require("redis");
var client = redis.createClient();
  
client.on("connect", function() {
  console.log("Connection Successful!!");
});
  
client.set("Intern", "gfg", (err, stu) => {
    if (err) console.log(err);
    else console.log(stu);
});

client.set()函数采用键值格式。在这里, Intern是键, gfg是值。此外,它需要一个回调函数,该函数将返回错误(如果有),或者如果字符串成功存储,它将将该值记录为OK 。上述代码的输出将是:

Connection Successful!!
OK

要获取存储在redis数据库中的key的值,我们将使用get函数,如下所示:

var redis = require("redis");
var client = redis.createClient();
  
client.on("connect", function() {
  console.log("Connection Successful!!");
});
  
client.set("Intern", "gfg", (err, stu) => {
    if (err) console.log(err);
    else console.log(stu);
});
  
client.get('Intern', (err, stu) => {
    if (err) console.log(err);
    else console.log(stu); 
});

在这里, client.get()方法将获取键Intern的值并将其记录在控制台中。上述代码的输出将是:

Connection Successful!!
OK
gfg

存储对象:要将对象存储在redis数据库中,请编写以下代码:

var redis = require("redis");
var client = redis.createClient();
  
client.on("connect", function() {
  console.log("Connection Successful!!");
});
  
client.set("Intern", "gfg", (err, stu) => {
    if (err) console.log(err);
    else console.log(stu);
});
  
client.get('Intern', (err, reply) => {
    console.log(reply); 
});
  
client.hmset("Interns", { pos: "Tech Writer", Org: "GFG" });

现在,Interns ,它的{ pos: “Tech Writer”, Org: “GFG” }。

要从 redis 数据库中获取值,请编写以下代码:

var redis = require("redis");
var client = redis.createClient();
  
client.on("connect", function() {
  console.log("Connection Successful!!");
});
  
client.set("Intern", "gfg", (err, stu) => {
    if (err) console.log(err);
    else console.log(stu);
});
  
client.get('Intern', (err, reply) => {
    console.log(reply); 
})
  
client.hmset("Interns", { pos: "Tech Writer", Org: "GFG" });
  
client.hgetall("Interns", (err, stu) => {
    if (err) console.log(err);
    else console.log(stu);
  });

在这里, hgetall方法用于获取键的所有值并将其记录在控制台中。上述代码的输出将是:

Connection Successful!!
OK
gfg
{ pos: 'Tech Writer', Org: 'GFG' }

结论: Redis 可以让 Node.js 应用程序快速、强大、高效。 Redis 可以称为各种数据结构的数据库存储。