当前位置: 首页 > news >正文

nodejs中如何使用Redis

Redis介绍:

Redis 是一个开源的内存数据结构存储器,一般可以用于数据库、缓存、消息代理等,我们常在项目中用redis解决高并发、高可用、高可扩展、大数据存储等问题; 它本质上是一个NoSql(非关系型数据库),我们常用的MySQL则是关系型数据库。它并不能替代关系型数据库,更多的时候是对关系型数据库的一种补充;

Redis的基本数据类型:

  • 字符串
  • 哈希
  • 列表
  • 集合
  • 有序集合
  • HyperLogLog
  • 位图

 字符串:

字符串的类型是Redis中最基础的键值对类型,可以保存普通文字,或者是序列化的二进制数据;字符串类型最大可以存储512M的数据;

  • set 设置一个字符串值
  • get 获取字符串键对应的值
  • getrange 截取字符串的内容
  • strlen 获取字符串长度
  • setex 设置过期时间
  • mset 设置多个key-value
  • mget 获取多个value
  • append 在字符串结尾加入内容
  • incr 数字自增加1
  • incrby 数字加上指定的整数值
  • incrbyfloat 数字加上指定的浮点数
  • decr 数字自减一
  • decby 数字减去指定的整数值

哈希: 

常用于保存复杂的数据结构。

  • hest 设置单个字段
  • hmset 设置多个字段
  • hget 获取单个字段值
  • hmget 获取多个字段值
  • hgetall 获取所有字段值
  • hkeys 获取所有字段名
  • hlen 获取哈希表中字段的数量
  • hexists 判断哈希表中存在某个字段
  • hvals 获取哈希表中所有字段值
  • hdel 删除哈希表的字段
  • hincrby 给某个字段加上指定的整数值
  • hincrbyfloart 给某个字段加上指定的浮点数

列表: 

常用于保存序列化的数据。

  • rpush 末尾新增值
  • lpush 开头新增值
  • llen 获取长度
  • lindex 获取表某个元素
  • linsert 在列表某个位置插入值
  • lpop 删除最左边的值 -rpop 删除最右边的值
  • lrem 删除某个位置的值

集合: 

常用于不允许数据重复,则使用redis提供的集合类型。

  • sadd 添加值
  • scard 获取集合长度
  • sismember 判断是否含有某个元素
  • srem 删除某个元素
  • srop 随机删除某个元素,并返回
  • srandmember 随机返回集合中的元素
  • sunion 组合两个或多个结合并返回所有元素的列表
  • smove 将元素从一个集合移动到另一个结合

有序集合 :

常用于带有排序功能,redis将按照分数值进行排序。

  • zcard 获取结合长度
  • zcount 查询某个分数值区间内的值数量
  • zscore 查询某个值的分数值
  • zrange 获取集合内容的升序
  • zrevrange 获取集合内容降序
  • zrangebyscore 获取分数值区间内的集合内容升序
  • zrevrangebyscore 获取分数值区间内的集合内容降序
  • zrank 获取升序排序(从0开始)
  • zrevrank 获取降序排序(从0开始)
  • zrem 删除集合中的值(单个、多个)
  • zremrangebyrank 删除排名区间内的值
  • zremrangebyscore 删除分数值区间内的值

nodejs上安装 ioredis:

nodejs后端项目中使用redis的话,可以安装ioredis这个库操作redis,如果是使用typescript的话,可以再安装 @types/ioredis

npm i ioredis 
npm i --save-dev @types/ioredis

ioredis中文文档|ioredis js中文教程|解析 | npm中文文档

nodejs上使用 ioredis:

import redis from 'ioredis'
const { REDIS_PORT, REDIS_HOST, REDIS_PASSWORD, REDIS_DB } = process.env as anyexport default new redis({port: REDIS_PORT, // redis的端口host: REDIS_HOST, // redis的允许地址password: REDIS_PASSWORD, // redis的密码db: REDIS_DB // redis由16个db库,可以手动选择第几个,由0开始
})

ioredis 将redis命令全部更改为函数调用的形式,调用redis就像平时开发调用函数一样。

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)
}

相关文章:

nodejs中如何使用Redis

Redis介绍: Redis 是一个开源的内存数据结构存储器,一般可以用于数据库、缓存、消息代理等,我们常在项目中用redis解决高并发、高可用、高可扩展、大数据存储等问题; 它本质上是一个NoSql(非关系型数据库)…...

golang append坑

查看如下代码输出 package mainimport "fmt"func main() {a : make([][]int, 0)b : make([]int, 0)b append(b, 1)a append(a, b)fmt.Println(a)b[0] 2fmt.Println(a) }输出: [[1]] [[2]]可以看出b改变之后,在a中也发生了改变&#xff0c…...

PaddleNLP使用Vicuna

LLaMA 模型 LLaMa 是一个大型语言模型,由 Meta 开源。它的全称是 Large Language Model Meta AI,参数量从 70 亿到 650 亿不等。例如,130 亿参数的 LLaMA 模型在大多数基准上可以胜过参数量达 1750 亿的 GPT-3,而且可以在单块 V1…...

jackson常用操作

#jackson常用操作 jackson序列化框架&#xff0c;一些常用的操作 依赖 <!--Jackson包--><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.15.2</version></de…...

ios ipa包上传需要什么工具

目录 ios ipa包上传需要什么工具 前言 一、IPA包的原理 二、IPA包上传的步骤 1.注册开发者账号 2.apk软件制作工具创建应用程序 3.构建应用程序 4.生成证书和配置文件 5.打包IPA包 6.上传IPA包 三、总结 前言 iOS IPA包是iOS应用程序的安装包&#xff0c;可以通过iT…...

科目1基础知识快速入门精简

科目1-4 科目一&#xff0c;又称科目一理论考试、驾驶员理论考试。》学习道路交通安全法律、法规和相关知识学习 考试内容包括驾车理论基础、道路安全法律法规、地方性法规等相关知识&#xff0c;再加地方性法规。考试形式为上机考试&#xff0c;100道题&#xff0c;90分及以…...

安卓逆向 - 某东app加密参数还原

本文仅供学习交流&#xff0c;只提供关键思路不会给出完整代码&#xff0c;严禁用于非法用途&#xff0c;拒绝转载&#xff0c;若有侵权请联系我删除&#xff01; 目标app&#xff1a;5Lqs5LicYXBwMTEuMy4y 目标接口&#xff1a;aHR0cHM6Ly9hcGkubS5qZC5jb20vY2xpZW50LmFjdGl…...

Visual Studio(2022)生成链接过程的.map映射文件以及.map映射文件的内容说明

微软的官方说明 /MAP&#xff08;生成映射文件&#xff09; | Microsoft Learn 设置步骤 1. 右键项目属性, 连接器 -> 常规 -> 启用增量链接&#xff0c;设置为否。如下图&#xff1a; 2. 连接器 -> 调试 生成调试信息 设置为 生成调试信息 (/DEBUG) 生成程序数据库…...

A. Gift Carpet

time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Recently, Tema and Vika celebrated Family Day. Their friend Arina gave them a carpet, which can be represented as an n⋅m&#xfffd;⋅&…...

技术科普:汽车开放系统架构AUTOSAR

01.AUTOSAR简介 汽车是现代人类实现“千里江陵一日还”的交通工具&#xff0c;而计算机则是使人脱离繁杂重复脑力劳动的生产技术&#xff0c;两者的结合催生了汽车电子产业的蓬勃发展。 21世纪初&#xff0c;随着汽车电子应用需求的不断增多与硬件资源不断丰富&#xff0c;软…...

说说HTTP 和 HTTPS 有什么区别?

分析&回答 http协议 超文本传输协议&#xff0c;是互联网上应用最多的协议&#xff0c;基于TCP/IP通讯协议来传递信息&#xff0c;用于从WWW服务器传输超文本到本地浏览器的传输协议。 https协议 我们可以将其看作是以安全为目标的http协议。在http协议的基础上增加了S…...

Pygame中Trivia游戏解析6-5

3.4 next_question()函数 next_question()函数的作用是显示下一个题目。当用户按下“确认”按键后&#xff0c;将会显示下一个题目&#xff0c;代码如下所示。 if self.scored or self.failed:self.scored Falseself.failed Falseself.correct 0self.colors [white,white…...

Java8新特性2——方法引用

Java8新特性2——方法引用 注&#xff1a;以下内容基于Java 8&#xff0c;所有代码都已在Java 8环境下测试通过 目录&#xff1a; Java8新特性1——函数式接口&lambda表达式方法引用Stream 1. 方法引用 方法引用提供了一种替代 lambda 表达式的语法&#xff0c;允许以更…...

Mac“其他文件”存放着什么?“其他文件”的清理方法

很多Mac用户在清理磁盘空间时发现&#xff0c;内存占用比例比较大的除了有iCloud云盘、应用程序、影片、音频、照片等项目之外&#xff0c;还有一个“其他文件”的项目磁盘占用比也非常大&#xff0c;想要清理却无从下手。那么Mac“其他文件”里存放的是什么文件&#xff1f;我…...

46、TCP的“三次握手”

在上一节中&#xff0c;TCP首部常用的几个选项&#xff0c;有些选项的参数就是在通信双方在建立TCP连接的时候进行确定和协商的。所以在学习过TCP报文首部之后&#xff0c;下面我们开始学习TCP的连接建立。 TCP的一个特点是提供可靠的传输机制&#xff0c;还有一个特点就是TCP…...

libudev 和 libusb 常见API分析

libudev详解: libudev是Linux系统下的一个库&#xff0c;它提供针对内核提供的udev设备管理服务的函数库。udev是一种内核机制&#xff0c;用于在系统中传递解决方案的有关设备信息&#xff0c;以及在出现设备事件&#xff08;如删除、插入设备&#xff09;时触发相应的操作。 …...

[dasctf]misc04

与他不说一模一样吧也差不多 第三届红明谷杯CTF-【MISC】-阿尼亚_keepb1ue的博客-CSDN客flag.zip需要解压密码&#xff0c;在图片中发现一串密文。一串乱码&#xff0c;尝试进行字符编码爆破。获取到密码&#xff1a;简单的编码。https://blog.csdn.net/qq_36618918/article/d…...

Scala的函数式编程与高阶函数,匿名函数,偏函数,函数的闭包、柯里化,抽象控制,懒加载等

Scala的函数式编程 函数式编程 解决问题时&#xff0c;将问题分解成一个一个的步骤&#xff0c;将每个步骤进行封装&#xff08;函数&#xff09;&#xff0c;通过调用这些封装好的步骤&#xff0c;解决问题。 例如&#xff1a;请求->用户名、密码->连接 JDBC->读取…...

Axure RP 8.1.0.3400(原型设计工具)

Axure RP 8是一款原型设计工具&#xff0c;它提供了丰富的功能和工具&#xff0c;帮助用户创建高质量的网页、移动应用和桌面软件原型。以下是Axure RP 8的一些特色介绍&#xff1a; 强大的交互设计&#xff1a;Axure RP 8支持创建复杂的动画和过渡效果&#xff0c;让你的原型更…...

企业微信、飞书、钉钉机器人消息发送工具类

1、实例化WebClient对象 其实你也可以使用RestTemplate&#xff0c;我这里主要是用到了webflux框架&#xff0c;所以需要实例化客户端请求对象 Bean public WebClient webClient(){HttpClient httpClient getHttpClient();return WebClient.builder().clientConnector(new R…...

5分钟部署Qwen3-VL-8B:MacBook也能跑的视觉语言模型,零基础上手

5分钟部署Qwen3-VL-8B&#xff1a;MacBook也能跑的视觉语言模型&#xff0c;零基础上手 1. 为什么选择Qwen3-VL-8B-Instruct-GGUF 1.1 轻量级多模态模型的突破 Qwen3-VL-8B-Instruct-GGUF是阿里通义实验室最新推出的视觉语言模型&#xff0c;它最大的特点就是小身材大能量。…...

互联网一线大厂最新版 Java面试八股文(含答案,万字总结,精心打磨,建议收藏)

Java 面试 Java 面试随着时间的改变而改变。在过去的日子里&#xff0c;当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试&#xff0c;但是现在问题变得越来越高级&#xff0c;面试官问的问题也更深入。 在我初入职场的时候&#xff0c;类似于 Vector 与 A…...

RMBG-2.0模型量化压缩:减小体积提升速度

RMBG-2.0模型量化压缩&#xff1a;减小体积提升速度 1. 引言 抠图工具RMBG-2.0确实效果惊艳&#xff0c;但原版模型动不动就几个GB的大小&#xff0c;在普通电脑上跑起来慢吞吞的&#xff0c;更别说在手机或边缘设备上部署了。如果你也遇到过模型太大、推理太慢的问题&#x…...

如何用Real-ESRGAN-ncnn-vulkan解决5种常见的图像质量问题?

如何用Real-ESRGAN-ncnn-vulkan解决5种常见的图像质量问题&#xff1f; 【免费下载链接】Real-ESRGAN-ncnn-vulkan NCNN implementation of Real-ESRGAN. Real-ESRGAN aims at developing Practical Algorithms for General Image Restoration. 项目地址: https://gitcode.co…...

手把手教你用逻辑分析仪抓取DVC1124的I2C波形(附CRC校验分析)

手把手教你用逻辑分析仪抓取DVC1124的I2C波形&#xff08;附CRC校验分析&#xff09; 在嵌入式硬件调试中&#xff0c;I2C通信的波形分析是验证设备交互正确性的关键步骤。集澈DVC1124作为一款高性能AFE芯片&#xff0c;其I2C协议中独特的CRC校验机制为通信可靠性提供了保障。本…...

攻克Godot资源提取难题:godot-unpacker工具的创新解法

攻克Godot资源提取难题&#xff1a;godot-unpacker工具的创新解法 【免费下载链接】godot-unpacker godot .pck unpacker 项目地址: https://gitcode.com/gh_mirrors/go/godot-unpacker 问题&#xff1a;为什么普通解压工具无法胜任PCK文件提取&#xff1f; Godot引擎打…...

手把手教你用FreeRTOS创建第一个任务:从栈初始化到SVC调用的完整流程

深入解析FreeRTOS任务启动机制&#xff1a;从栈初始化到任务切换的实战指南 在嵌入式开发领域&#xff0c;实时操作系统(RTOS)已成为复杂项目的标配工具。作为开源RTOS中的佼佼者&#xff0c;FreeRTOS凭借其轻量级、可移植性强等特点&#xff0c;在STM32等Cortex-M系列MCU上广…...

VCAM虚拟摄像头:革新移动设备视觉交互的技术探索

VCAM虚拟摄像头&#xff1a;革新移动设备视觉交互的技术探索 【免费下载链接】com.example.vcam 虚拟摄像头 virtual camera 项目地址: https://gitcode.com/gh_mirrors/co/com.example.vcam VCAM虚拟摄像头是一款基于Xposed框架的安卓应用&#xff0c;通过HOOK技术&…...

当人脸识别‘脸盲’时:ReID如何靠‘衣着体态’在安防、零售中找人?

当人脸识别失效时&#xff1a;ReID技术如何通过衣着体态实现精准追踪 在智慧城市建设和零售数字化转型的浪潮中&#xff0c;视频分析技术正面临一个尴尬的现实困境——当人脸识别因遮挡、远距离或背对摄像头等原因失效时&#xff0c;如何继续追踪目标人物&#xff1f;这个问题…...

终极指南:简单快速解决C盘爆红的Windows清理工具

终极指南&#xff1a;简单快速解决C盘爆红的Windows清理工具 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服&#xff01; 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 你的C盘是不是又红了&#xff1f;电脑卡得像蜗牛爬&a…...