当前位置: 首页 > Web前端 > vue.js

NodeJS5分钟连接Redis进行读写操作

时间:2023-03-31 21:45:03 vue.js

本文介绍本文主要讲解使用NodeJS操作Redis,顺便先介绍一下Redis的基本用法。在写这篇文章的时候,使用npm安装的Redis依赖包已经到了4.1.0版本。我之前用过2.8,这两个版本的用法也是不一样的。可能一些老项目还在使用老版本的依赖包。所以我就简单说一下这两个版本的用法。RedisBasicRedis可以说是最简单的数据库。数据库的大部分读写操作是在硬盘上,而Redis是在内存上。所以读写速度会比其他传统数据库更快。但是缺点是不能持久化数据。一旦电源关闭并重新启动,数据将消失。当然Redis也可以持久化数据,但是我觉得这样做的成本有点高。如果要持久化数据,最好直接使用传统数据库。Redis可能用的最多的地方就是存储session,用来记录用户登录状态等操作。这样的数据即使丢失了,也不会对用户造成太大的影响。要使用Redis,您必须先安装它。windows版的下载链接在这里:https://github.com/tporadowsk...我下载的是.msi格式的安装包,下载后双击运行,点击“下一步”安装成功。安装时记得勾选AddRedistotheglobalenvironment。安装成功后,打开终端输入命令redis-cli进入交互模式,证明安装成功。这时候就可以输入命令来操作Redis了。127.0.0.1为本地IP;6379是Redis的默认端口号。写入数据,使用set命令setkeyvaluekey为键名,value为值。我设置了一个名字,值为zhangsan。输入后按回车键,返回OK,证明写入成功。读取使用get读取数据。getkeykey是键名。如果找到则返回值。查看所有key如果不知道当前存储了哪些key,可以使用keys*查询所有keykeys*如果有多个key,使用上面的语句列出所有key。要删除delete使用del。del键我删除了我刚刚创建的名称数据。这时候用get或者keys*几乎都是返回name的数据。以上就是Redis的基本用法。NodeJS操作Redis初始化项目我用默认模板初始化项目。npminit-yinstallRedisdependencies在撰写本文时,使用以下命令安装的Redis的最新版本是4.1.0npminstallredis如果要使用旧语法,可以安装指定版本。比如我使用2.8版本的npminstallredis@2.8进行连接。安装好Redis后,就可以使用NodeJS进行连接了。新建一个js文件。v2.8语法constredis=require('redis')//引入redis//创建客户端constredisClient=redis.createClient('6379','127.0.0.1')//port,host//监听错误信息redisClient.on('error',err=>{console.error(err)//打印监控到的错误信息})v4.1语法constredis=require('redis')//引入redisconstredisClient=redis.createClient()//创建客户端//监听错误信息redisClient.on('err',err=>{console.log('redisclienterror:',err)})//连接redisClient.connect(6379,'127.0.0.1')writedatawritedatausingsetmethodv2.8//省略部分代码redisClient.set('name','zhangsan',redis.print)第三个参数redis.print为打印方式,执行完上面命令将向控制台打印一条消息。比如执行成功,会打印Reply:OKv4.1constredis=require('redis')//importredis//createclientconstredisClient=redis.createClient()//监听错误信息redisClient。on('err',err=>{console.log('redisclienterror:',err)})//创建一个连接,是一个promimeredisClient.connect(6379,'127.0.0.1').then(()=>{redisClient.set('name','zhangsan').then(val=>{console.log(val)})})上面代码的意思是用client.connect连接,然后执行set成功后操作。您还可以将上面的代码更改为async和await语法。读取数据使用get方法读取数据v2.8//省略部分代码redisClient.get('name',(err,val)=>{if(err){console.error(err)return}console.log(val)})v4.1constredis=require('redis')//引入redis//创建客户端constredisClient=redis.createClient()//创建一个连接,是一个promimeredisClient.connect(6379,'127.0.0.1').then(()=>{redisClient.get('name').then(val=>{console.log(val)})})如果找到,则返回对应的值,否则返回null。使用del方法删除v2.8//省略部分代码redisClient.del('name',(err,val)=>{if(err){console.error(err)return}console.log(val)})v4.1constredis=require('redis')//引入redis//创建客户端constredisClient=redis.createClient()//创建一个连接,它是一个promimeredisClient.connect(6379,'127.0.0.1').then(()=>{redisClient.del('name').then(val=>{console.log(val)})})连接结束后断开连接,使用quit方法断开连接。在断开连接方面,v2.8和v4.1的语法是一样的。redisClient.quit()推荐阅读