Node.js中使用node-redis库连接redis服务端并存储数据

Node.js中使用node-redis库连接redis服务端并存储数据

node-redis 是一个现代化的、高性能的 Node.js Redis 客户端。其npm官网地址为:https://www.npmjs.com/package/redis,Github仓库地址为:https://github.com/redis/node-redis

在Node.js中安装redis

使用redis之前得在自己的操作系统中安装自己的redis服务器,例如在MacOS中安装和配置redis服务端,可以参考MacOS中安装并配置Redis,Windows和Ubuntu系统可以自行搜索安装方法。

在Node.js中安装redis客户端很简单,使用npm执行如下命令安装即可:

bash 复制代码
npm install redis

当然如果我们的系统中安装了docker,也可以通过docker安装redis客户端,如下:

bash 复制代码
docker run -p 6379:6379 -d redis:8.0-rc1

使用示例

基本示例

javascript 复制代码
import { createClient } from "redis";

const client = await createClient()
  .on("error", (err) => console.log("Redis Client Error", err))
  .connect();

await client.set("key", "value");
const value = await client.get("key");
client.destroy();

上述代码连接到本地主机的 6379 端口。要连接到其他主机或端口,请使用格式为 redis[s]://[[username][:password]@][host][:port][/db-number]: 的连接字符串。

bash 复制代码
createClient({
  url: "redis://alice:foobared@awesome.redis.server:6380",
});

您还可以使用离散参数、UNIX 套接字,甚至 TLS 进行连接。详情请参阅客户端配置指南

要检查客户端是否已连接并准备好发送命令,请使用 client.isReady,它会返回一个布尔值。client.isOpen 也可用。当客户端的底层套接字已打开时,此方法返回 true;当套接字未打开时(例如,客户端仍在连接或在网络错误后重新连接时),此方法返回 false。

简单实用示例

javascript 复制代码
const redis = require('redis');

const redisConfig = {
    // url: "redis://localhost:6379" // 或者 "redis://:yourpassword@localhost:6379" 如果启用了密码
    url: "redis://default:123456@localhost:7001"
};

(async () => {
    const redisClient = redis.createClient(redisConfig);

    redisClient.on('error', (err) => {
        console.error('Redis connection error:', err.message);
    });

    await redisClient.connect();
    console.log('Connected to Redis successfully!');

    // 测试写入和读取
    await redisClient.set('test_key', 'test_value');
    const value = await redisClient.get('test_key');
    console.log('Value from Redis:', value);

    await redisClient.quit();
})();

将上述代码保存为 redisdemo.js文件,连接本地启动并配置好的redis服务端,port端口号为:7001,密码为:123456,运行结果如下:

$ node redisDemo.js

Connected to Redis successfully!

Value from Redis: test_value

从上图可以看出,redis 7001服务端多了一条key为test_key,值为test_value

更多的redis使用示例,具体可以参考redis npm官网:https://www.npmjs.com/package/redis

参考资料

相关推荐
qq_150841994 分钟前
SQL的insert和update二合一指令
java·数据库·sql
亿牛云爬虫专家9 分钟前
如何设计一套高可用的爬虫任务队列,保证断点续爬与故障转移?
redis·爬虫·故障转移·任务队列·代理ip·requests·隧道代理
聚焦前沿10 分钟前
水动力优化导流罩:原理、数据与实船验证
大数据·服务器·数据库·人工智能
万联WANFLOW22 分钟前
外贸独立站:服务器放海外国内后台卡,放国内海外客户打不开——这道两头难怎么破?
运维·网络·数据库·经验分享
5G微创业32 分钟前
Python / Node.js 调用短视频去水印 API 完整示例(含 SDK)
python·node.js·音视频·api·sdk·短视频
金海境科技40 分钟前
【服务器数据恢复】H3C CAS虚拟化平台HP存储qcow2文件损坏快照丢失数据恢复案例
服务器·数据库·经验分享
正儿八经的少年1 小时前
Spring 事务保证数据一致性
java·数据库·spring
foo1st1 小时前
MySQL 8.0(Windows)升级笔记
数据库·笔记·mysql
张人玉1 小时前
基于 Vue 3 + ECharts + Express + SQLite 的可视化大屏与业务管理系统——YOLOv8 高精度车辆行人检测与计数系统
数据库·vue.js·yolo·sqlite·echarts·express
吴声子夜歌1 小时前
MongoDB 4.x——高级特性(Change Stream和事务)
数据库·mongodb