前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >NodeJS 5分钟 连接 Redis 读写操作 👑

NodeJS 5分钟 连接 Redis 读写操作 👑

作者头像
德育处主任
发布2022-08-30 14:29:36
5670
发布2022-08-30 14:29:36
举报
文章被收录于专栏:前端数据可视化

本文主要讲解使用 NodeJS 操作 Redis ,顺便会先带一带 Redis 基础用法。

在写本文时,使用 NPM 安装的 Redis 依赖包已经到了 4.1.0 版本了。我以前用过 2.8 ,这两个版本在用法上也是有差别的。可能一些老项目还在用老版本的依赖包。所以我会把2个版本的用法都简单讲讲。

Redis 基础

Redis 可以说是最最最简单的数据库了。大部分数据库的读写操作都是在硬盘上的,而 Redis 是在内存上的。所以读写速度会比其他传统数据库要快。但缺点是数据不能持久化,一旦断电重启,数据就没了。当然,Redis 也是可以将数据持久化的,但我觉得这样做的成本有点高,如果要将数据持久化不如直接用传统数据库。

Redis 可能用得最多的地方就是存储 session ,用来记录用户登录状态之类的操作。这类数据就算丢失了也不会对用户有多大影响。

安装

要使用 Redis ,首先就要安装它。windows版下载链接放在这里:github.com/tporadowski…

01.png
01.png

我下载了 .msi 格式的安装包,下载后直接双击运行,一直点 “下一步” 就能安装成功。

在安装时记得勾选将 Redis 添加到全局环境。

安装成功后,打开终端,输入一下命令

代码语言:javascript
复制
redis-cli
复制代码
02.png
02.png

进入交互模式就证明安装成功了,此时可以输入指令操作 Redis 了。

127.0.0.1 是本机 IP6379Redis 默认的端口号。

写入

写入数据使用 set 指令

代码语言:javascript
复制
set key value
复制代码

key 是键名,value 是值。

03.png
03.png

我设置了一个 name ,值为 zhangsan

输入完按回车键,返回 OK 证明写入成功。

读取

读取数据使用 get

代码语言:javascript
复制
get key
复制代码

key 是键名。

04.png
04.png

如果查到就返回值。

查看所有key

如果你不清楚当前存了什么 key ,可以使用 keys * 来查询所有 key

代码语言:javascript
复制
keys *
复制代码
05.png
05.png

如果你有多个 key ,用上面的语句可以将所有 key 都列出来。

删除

删除使用 del

代码语言:javascript
复制
del key
复制代码
06.png
06.png

我把刚刚创建的 name 这条数据给删掉了。

此时使用 get 或者 keys * 都差不回 name 这条数据了。

以上就是 Redis 的基础用法。

NodeJS 操作 Redis

初始化项目

我用默认模板初始化项目。

代码语言:javascript
复制
npm init -y
复制代码

安装 Redis 依赖

在写本文时,使用以下命令安装的最新版 Redis4.1.0

代码语言:javascript
复制
npm install redis
复制代码

如果你想用旧版语法,可以安装指定版本。

比如我之前用的是 2.8

代码语言:javascript
复制
npm install redis@2.8
复制代码

连接

安装好 Redis 后就可以用 NodeJS 来连接了。

新建一个 js 文件。

v2.8语法

代码语言:javascript
复制
const redis = require('redis') // 引入 redis

// 创建客户端
const redisClient = redis.createClient('6379', '127.0.0.1') // 端口,主机

// 监听错误信息
redisClient.on('error', err => {
  console.error(err) // 打印监听到的错误信息
})
复制代码

v4.1 语法

代码语言:javascript
复制
const redis = require('redis') // 引入 redis

const redisClient = redis.createClient() // 创建客户端

// 监听错误信息
redisClient.on('err', err => {
  console.log('redis client error: ', err)
})

// 连接
redisClient.connect(6379, '127.0.0.1')
复制代码

写入数据

写入数据使用 set 方法

v2.8

代码语言:javascript
复制
// 省略部分代码

redisClient.set('name', 'zhangsan', redis.print)
复制代码

第三个参数 redis.print 是打印方法,在执行完上面的命令,控制台会打印一条信息。

比如执行成功,会打印 Reply: OK

v4.1

代码语言:javascript
复制
const redis = require('redis') // 引入 redis

// 创建客户端
const redisClient = redis.createClient()

// 监听错误信息
redisClient.on('err', err => {
  console.log('redis client error: ', err)
})

// 创建连接,是个 promise
redisClient.connect(6379, '127.0.0.1')
  .then(() => {
    redisClient.set('name', 'zhangsan')
      .then(val => {
        console.log(val)
      })
  })
复制代码

上面的代码意思是,使用 client.connect 连接,成功后再执行 set 操作。

你也可以将上面的代码改成 asyncawait 语法。

读取数据

使用 get 方法可以读取数据

v2.8

代码语言:javascript
复制
// 省略部分代码

redisClient.get('name', (err, val) => {
  if (err) {
    console.error(err)
    return
  }
  console.log(val)
})
复制代码

v4.1

代码语言:javascript
复制
const redis = require('redis') // 引入 redis

// 创建客户端
const redisClient = redis.createClient()

// 创建连接,是个 promise
redisClient.connect(6379, '127.0.0.1')
  .then(() => {
    redisClient.get('name')
      .then(val => {
        console.log(val)
      })
  })
复制代码

如果查找到就返回对应的值,否则返回 null

删除

使用 del 方法删除

v2.8

代码语言:javascript
复制
// 省略部分代码

redisClient.del('name', (err, val) => {
  if (err) {
    console.error(err)
    return
  }
  console.log(val)
})
复制代码

v4.1

代码语言:javascript
复制
const redis = require('redis') // 引入 redis

// 创建客户端
const redisClient = redis.createClient()

// 创建连接,是个 promise
redisClient.connect(6379, '127.0.0.1')
  .then(() => {
    redisClient.del('name')
      .then(val => {
        console.log(val)
      })
  })
复制代码

断开连接

用完就断,用 quit 方法可以断开连接。

在断开连接这件事上,v2.8v4.1 的语法相同

代码语言:javascript
复制
redisClient.quit()
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-06-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Redis 基础
    • 安装
      • 写入
        • 读取
          • 查看所有key
            • 删除
            • NodeJS 操作 Redis
              • 初始化项目
                • 安装 Redis 依赖
                  • 连接
                    • 写入数据
                      • 读取数据
                        • 删除
                          • 断开连接
                          相关产品与服务
                          云数据库 Redis
                          腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
                          领券
                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档