nodejs中如何使用redis(nodejs中如何使用xlsx怎么获取复杂表头里的数据)
mhr18 2024-11-01 12:20 37 浏览 0 评论
nodejs中如何使用redis
一、Redis是什么?
Redis 是一个开源的内存数据结构存储器,一般可以用于数据库、缓存、消息代理等,我们常在项目中用redis解决高并发、高可用、高可扩展、大数据存储等问题; 它本质上是一个NoSql(非关系型数据库),我们常用的MySQL则是关系型数据库。它并不能替代关系型数据库,更多的时候是对关系型数据库的一种补充;
二、Redis的基本数据类型
- 字符串
- 哈希
- 列表
- 集合
- 有序集合
- HyperLogLog
- 位图
redis中共有七种数据类型,我这边会简单介绍下其中五种常见的数据类型;
2-1、字符串(String)
字符串的类型是Redis中最基础的键值对类型,可以保存普通文字,或者是序列化的二进制数据;字符串类型最大可以存储512M的数据;
字符串操作命令
- set 设置一个字符串值
- get 获取字符串键对应的值
- getrange 截取字符串的内容
- strlen 获取字符串长度
- setex 设置过期时间
- mset 设置多个key-value
- mget 获取多个value
- append 在字符串结尾加入内容
- incr 数字自增加1
- incrby 数字加上指定的整数值
- incrbyfloat 数字加上指定的浮点数
- decr 数字自减一
- decby 数字减去指定的整数值
2-2、哈希类型
常用于保存复杂的数据结构。
- hest 设置单个字段
- hmset 设置多个字段
- hget 获取单个字段值
- hmget 获取多个字段值
- hgetall 获取所有字段值
- hkeys 获取所有字段名
- hlen 获取哈希表中字段的数量
- hexists 判断哈希表中存在某个字段
- hvals 获取哈希表中所有字段值
- hdel 删除哈希表的字段
- hincrby 给某个字段加上指定的整数值
- hincrbyfloart 给某个字段加上指定的浮点数
2-3、列表类型
常用于保存序列化的数据。
- rpush 末尾新增值
- lpush 开头新增值
- llen 获取长度
- lindex 获取表某个元素
- linsert 在列表某个位置插入值
- lpop 删除最左边的值 -rpop 删除最右边的值
- lrem 删除某个位置的值
2-4、集合类型
如果你的需求是不允许数据重复,则你需要使用redis提供的结合类型。
- sadd 添加值
- scard 获取集合长度
- sismember 判断是否含有某个元素
- srem 删除某个元素
- srop 随机删除某个元素,并返回
- srandmember 随机返回集合中的元素
- sunion 组合两个或多个结合并返回所有元素的列表
- smove 将元素从一个集合移动到另一个结合
2-5、有序集合
结合将带有排序功能,redis将按照分数值进行排序。
- zcard 获取结合长度
- zcount 查询某个分数值区间内的值数量
- zscore 查询某个值的分数值
- zrange 获取集合内容的升序
- zrevrange 获取集合内容降序
- zrangebyscore 获取分数值区间内的集合内容升序
- zrevrangebyscore 获取分数值区间内的集合内容降序
- zrank 获取升序排序(从0开始)
- zrevrank 获取降序排序(从0开始)
- zrem 删除集合中的值(单个、多个)
- zremrangebyrank 删除排名区间内的值
- zremrangebyscore 删除分数值区间内的值
三、安装 redis 及辅助工具 Another Redis Desktop Manager
官网地址:redis.io/ 下载地址:download.redis.io/releases/re…
window环境下安装redis可以点击此链接
可视化工具: Another Redis Desktop Manager(goanother.com/cn/)
四、nodejs上安装 ioredis
接下来在nodejs后端项目中使用redis的话,可以安装ioredis这个库操作redis,如果是使用typescript的话,可以再安装 @types/ioredis。
js复制代码npm i ioredis
npm i --save-dev @types/ioredis
ioredis 官方文档
五、nodejs上使用 ioredis
5-1、基础的redis链接配置
ts复制代码import redis from 'ioredis'
const { REDIS_PORT, REDIS_HOST, REDIS_PASSWORD, REDIS_DB } = process.env as any
export default new redis({
port: REDIS_PORT, // redis的端口
host: REDIS_HOST, // redis的允许地址
password: REDIS_PASSWORD, // redis的密码
db: REDIS_DB // redis由16个db库,可以手动选择第几个,由0开始
})
5-2、项目中使用
ioredis 将redis命令全部更改为了函数调用的形式,我们调用redis就像平时开发调用函数一样即可,下面是最简单的使用案例:
typescript复制代码import redis from '@/redis'
/**
* 重置存储 session的过期时间
* @param key
* @param time 过期时间设置(min)
*/
export const resetTime = (key: string, time = 60) => {
redis.expire(key, time * 60)
recordNum(redisType.expire)
}
六、结语
本文当中简单介绍了redis的基础操作命令,在nodejs中如何使用redis,实际生产当中的redis操作更为复杂和多样,还是需要我们自己多进行摸索和实践;本文当中的操作只是常用的基础操作,如果想知道更多的redis操作,可以去查看redis的官方文档。
原文链接:https://juejin.cn/post/7245658681731235899
相关推荐
- Spring Boot 分布式事务实现简单得超乎想象
-
环境:SpringBoot2.7.18+Atomikos4.x+MySQL5.71.简介关于什么是分布式事务,本文不做介绍。有需要了解的自行查找相关的资料。本篇文章将基于SpringBoot...
- Qt编写可视化大屏电子看板系统15-曲线面积图
-
##一、前言曲线面积图其实就是在曲线图上增加了颜色填充,单纯的曲线可能就只有线条以及数据点,面积图则需要从坐标轴的左下角和右下角联合曲线形成完整的封闭区域路径,然后对这个路径进行颜色填充,为了更美观...
- Doris大数据AI可视化管理工具SelectDB Studio重磅发布!
-
一、初识SelectDBStudioSelectDBStudio是专为ApacheDoris湖仓一体典型场景实战及其兼容数据库量身打造的GUI工具,简化数据开发与管理。二、Select...
- RAD Studio 、Delphi或C++Builder设计代码编译上线缩短开发时间
-
#春日生活打卡季#本月,Embarcadero宣布RADStudio12.3Athens以及Delphi12.3和C++Builder12.3,提供下载。RADStudio12.3A...
- Mybatis Plus框架学习指南-第三节内容
-
自动填充字段基本概念MyBatis-Plus提供了一个便捷的自动填充功能,用于在插入或更新数据时自动填充某些字段,如创建时间、更新时间等。原理自动填充功能通过实现com.baomidou.myba...
- 「数据库」Sysbench 数据库压力测试工具
-
sysbench是一个开源的、模块化的、跨平台的多线程性能测试工具,可以用来进行CPU、内存、磁盘I/O、线程、数据库的性能测试。目前支持的数据库有MySQL、Oracle和PostgreSQL。以...
- 如何选择适合公司的ERP(选erp系统的经验之谈)
-
很多中小公司想搞ERP,但不得要领。上ERP的目的都是歪的,如提高效率,减少人员,堵住财务漏洞等等。真正用ERP的目的是借机提升企业管理能力,找出管理上的问题并解决,使企业管理更规范以及标准化。上ER...
- Manus放开注册,但Flowith才是Agent领域真正的yyds
-
大家好,我是运营黑客。前天,AIAgent领域的当红炸子鸡—Manus宣布全面放开注册,终于,不需要邀请码就能体验了。于是,赶紧找了个小号去确认一下。然后,额……就被墙在了外面。官方解释:中文版...
- 歌浓酒庄总酿酒师:我们有最好的葡萄园和最棒的酿酒师
-
中新网1月23日电1月18日,张裕董事长周洪江及总经理孙健一行在澳大利亚阿德莱德,完成了歌浓酒庄股权交割签约仪式,这也意味着张裕全球布局基本成型。歌浓:澳大利亚年度最佳酒庄据悉,此次张裕收购的...
- 软件测试进阶之自动化测试——python+appium实例
-
扼要:1、了解python+appium进行APP的自动化测试实例;2、能根据实例进行实训操作;本课程主要讲述用python+appium对APP进行UI自动化测试的例子。appium支持Androi...
- 为什么说Python是最伟大的语言?看图就知道了
-
来源:麦叔编程作者:麦叔测试一下你的分析能力,直接上图,自己判断一下为什么Python是最好的语言?1.有图有真相Java之父-JamesGoshlingC++之父-BjarneStrou...
- 如何在Eclipse中配置Python开发环境?
-
Eclipse是著名的跨平台集成开发环境(IDE),最初主要用来Java语言开发。但是我们通过安装不同的插件Eclipse可以支持不同的计算机语言。比如说,我们可以通过安装PyDev插件,使Eclip...
- 联合国岗位上新啦(联合国的岗位)
-
联合国人权事务高级专员办事处PostingTitleIntern-HumanRightsDutyStationBANGKOKDeadlineOct7,2025CategoryandL...
- 一周安全漫谈丨工信部:拟定超1亿条一般数据泄露属后果严重情节
-
工信部:拟定超1亿条一般数据泄露属后果严重情节11月23日,工信部官网公布《工业和信息化领域数据安全行政处罚裁量指引(试行)(征求意见稿)》。《裁量指引》征求意见稿明确了行政处罚由违法行为发生地管辖、...
- oracle列转行以及C#执行语句时报错问题
-
oracle列转行的关键字:UNPIVOT,经常查到的怎么样转一列,多列怎么转呢,直接上代码(sshwomeyourcode):SELECTsee_no,diag_no,diag_code,...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- oracle位图索引 (74)
- oracle批量插入数据 (65)
- oracle事务隔离级别 (59)
- oracle 空为0 (51)
- oracle主从同步 (56)
- oracle 乐观锁 (53)
- redis 命令 (78)
- php redis (88)
- redis 存储 (66)
- redis 锁 (69)
- 启动 redis (66)
- redis 时间 (56)
- redis 删除 (67)
- redis内存 (57)
- redis并发 (52)
- redis 主从 (69)
- redis 订阅 (51)
- redis 登录 (54)
- redis 面试 (58)
- 阿里 redis (59)
- redis 搭建 (53)
- redis的缓存 (55)
- lua redis (58)
- redis 连接池 (61)
- redis 限流 (51)