Nodejs 第四十四章(redis基本使用)

news2024/9/22 21:25:26

字符串的操作

SET key value [NX|XX] [EX seconds] [PX milliseconds] [GET]
  • key:要设置的键名。
  • value:要设置的值。
  • NX:可选参数,表示只在键不存在时才设置值。
  • XX:可选参数,表示只在键已经存在时才设置值。
  • EX seconds:可选参数,将键的过期时间设置为指定的秒数。
  • PX milliseconds:可选参数,将键的过期时间设置为指定的毫秒数。
  • GET:可选参数,返回键的旧值。
  1. 设置键名为 “name” 的值为 “John”:

    SET name "xiaoman"
    
  2. 设置键名为 “counter” 的值为 10,并设置过期时间为 60 秒:

    SET counter 10 EX 60
    
  3. 只在键名为 “status” 不存在时,设置其值为 “active”:

    SET status "active" NX
    
  4. 只在键名为 “score” 已经存在时,将其值增加 5:

    SET score 5 XX
    
  5. 设置键名为 “message” 的值为 “Hello”,并返回旧的值:

    SET message "Hello" GET
    
  6. 删除键名为 “name” 的键:

    DEL name
    
  7. 批量删除多个键名:

    DEL key1 key2 key3
    
  8. 删除不存在的键名,不会报错,返回删除的键数量为 0:

    DEL non_existing_key
    

image.png

集合的操作

集合(Set)是一种无序且不重复的数据结构,用于存储一组独立的元素。集合中的元素之间没有明确的顺序关系,每个元素在集合中只能出现一次。

  1. 添加成员到集合:

    SADD fruits "apple"
    SADD fruits "banana"
    SADD fruits "orange"
    
  2. 获取集合中的所有成员:

    SMEMBERS fruits
    

    输出结果:

    1) "apple"
    2) "banana"
    3) "orange"
    
  3. 检查成员是否存在于集合中:

    SISMEMBER fruits "apple"
    

    输出结果:

    (integer) 1
    
  4. 从集合中移除成员:

    SREM fruits "banana"
    

    输出结果:

    (integer) 1
    
  5. 获取集合中的成员数量:

    SCARD fruits
    

    输出结果:

    (integer) 2
    
  6. 获取随机成员:

    SRANDMEMBER fruits
    

    输出结果:

    "apple"
    
  7. 求多个集合的并集:

    SUNION fruits vegetables
    

    输出结果:

    1) "apple"
    2) "orange"
    3) "tomato"
    4) "carrot"
    
  8. 求多个集合的交集:

    SINTER fruits vegetables
    

    输出结果:

    "apple"
    
  9. 求多个集合的差集:

    SDIFF fruits vegetables
    

    输出结果:

    "orange"
    

哈希表操作

哈希表(Hash)是一种数据结构,也称为字典、关联数组或映射,用于存储键值对集合。在哈希表中,键和值都是存储的数据项,并通过哈希函数将键映射到特定的存储位置,从而实现快速的数据访问和查找。

  1. 设置哈希表中的字段值:

    HSET obj name "John"
    HSET obj age 25
    HSET obj email "john@example.com"
    
  2. 获取哈希表中的字段值:

    HGET obj name
    

    输出结果:

    "John"
    
  3. 一次设置多个字段的值:

    HMSET obj name "John" age 25 email "john@example.com"
    
  4. 获取多个字段的值:

    HMGET obj name age email
    

    输出结果:

    1) "John"
    2) "25"
    3) "john@example.com"
    
  5. 获取哈希表中所有字段和值:

    HGETALL obj
    

    输出结果:

    1) "name"
    2) "John"
    3) "age"
    4) "25"
    5) "email"
    6) "john@example.com"
    
  6. 删除哈希表中的字段:

    HDEL obj age email
    

    输出结果:

    (integer) 2
    
  7. 检查哈希表中是否存在指定字段:

    HEXISTS obj name
    

    输出结果:

    (integer) 1
    
  8. 获取哈希表中所有的字段:

    HKEYS obj
    

    输出结果:

    1) "name"
    
  9. 获取哈希表中所有的值:

    HVALS obj
    

    输出结果:

    1) "John"
    
  10. 获取哈希表中字段的数量:

    HLEN obj
    

    输出结果:

    (integer) 1
    

列表的操作

列表(List)是一种有序、可变且可重复的数据结构。在许多编程语言和数据存储系统中,列表是一种常见的数据结构类型,用于存储一组元素

  1. 添加元素:
RPUSH key element1 element2 element3  // 将元素从右侧插入列表
LPUSH key element1 element2 element3  // 将元素从左侧插入列表
  • LPUSH key element1 element2 ...:将一个或多个元素从列表的左侧插入,即将元素依次插入列表的头部。如果列表不存在,则在执行操作前会自动创建一个新的列表。
  • RPUSH key element1 element2 ...:将一个或多个元素从列表的右侧插入,即将元素依次插入列表的尾部。如果列表不存在,则在执行操作前会自动创建一个新的列表。
  1. 获取元素:
LINDEX key index  // 获取列表中指定索引位置的元素
LRANGE key start stop  // 获取列表中指定范围内的元素
  1. 修改元素:
LSET key index newValue  // 修改列表中指定索引位置的元素的值
  1. 删除元素:
LPOP key  // 从列表的左侧移除并返回第一个元素
RPOP key  // 从列表的右侧移除并返回最后一个元素
LREM key count value  // 从列表中删除指定数量的指定值元素
  1. 获取列表长度:
LLEN key  // 获取列表的长度

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1488627.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

七款顶级API测试工具

在现代软件开发中,API接口已成为不可或缺的核心组件。鉴于API缺乏直观的图形用户界面(GUI),使得直接对接口进行测试变得困难,对于前后端开发者而言,选择一套高效且实用的工具来测试API接口,从而…

g2o -- curve_fit代码解析

概述 本文介绍通过g2o框架,优化点和曲线的匹配(曲线拟合)。曲线的公式如下所示: 它有三个参数:a, b, lamba。 代码解析 自定义顶点 /*** \brief the params, a, b, and lambda for a * exp(-lambda * t) b*/ clas…

【AWS Credit】AWS服务抵扣金额兑换操作步骤演示说明

AWS 服务抵扣金额可应用于账单,帮助支付与符合条件的服务相关联的成本。服务抵扣金额在用尽或过期之前均可应用。 文章目录 AWS Credit 使用说明1.登录到AWS控制台2.导航至“账单和成本管理”3.点击“积分”,选择“兑换积分”4.输入优惠代码及安全代码5.…

【MySQL系列】在 MacOS 上安装 MySQL

在 MacOS 上有两种方式安装 MySQL 服务器:通过 brew 安装和通过安装包安装。 文章目录 1、通过 brew 安装 MySQL1.1、安装 MySQL1.2、启动 MySQL 服务器1.3、配置 MySQL 服务器1.4、MySQL 服务器管理命令 2、通过安装包安装 MySQL2.1、下载安装包2.2、安装 MySQL2.3…

demo型xss初级靶场

一、环境 XSS Game - Ma Spaghet! | PwnFunction 二、开始闯关 第一关 看看代码 试一下直接写 明显进来了为什么不执行看看官方文档吧 你不执行那我就更改单标签去使用呗 ?somebody<img%20src1%20onerror"alert(1)"> 防御&#xff1a; innerText 第二关…

Vue中如何创建自定义指令?

在Vue中&#xff0c;除了内置的指令外&#xff0c;我们还可以自定义指令来扩展Vue的功能。自定义指令是Vue的一个重要特性&#xff0c;它使得我们可以在DOM元素上添加特定的行为。下面我们就来看看如何在Vue中创建自定义指令。 首先&#xff0c;让我们先了解一下自定义指令的基…

2024.03.02蓝桥云课笔记

1.scanf与printf取消分隔符的限制方法 示例代码&#xff1a; int main() { char s[10];scanf("%d[^\n]",s);printf("%s",s);return 0; } 运行&#xff1a; 输入&#xff1a;Hello World 输出&#xff1a;Hello World 注&#xff1a;其中[]中是一个正则…

C语言:指针(二)

目录 1.数组名的理解2.使用指针访问数组3.一维数组传参的本质4.二级指针5.指针数组6.字符指针变量7.数组指针变量8.二维数组传参的本质9.函数指针变量10.函数指针数组11.回调函数12.qsort函数13.使用回调函数模拟实现qsort函数 1.数组名的理解 int main() {int arr[] { 1,2,3…

英伟达:通用人工智能最快在五年内通过人类测试能力 | 百能云芯

英伟达&#xff08;NVIDIA&#xff09;的CEO黄仁勋在斯坦福经济政策研究所峰会上发表讲话&#xff0c;表示他预计通用人工智能&#xff08;AGI&#xff09;最快将在五年内问世。通用人工智能是指能够像人类一样学习、推理、解决复杂问题并独立做出决策的人工智能。这一表态引起…

从“茅五泸”到“非茅即五”,泸州老窖是怎么把自己跌出前三的?

文&#xff5c;琥珀食酒社 作者 | 宏一 春节的高端局酒桌上&#xff0c;“非茅即五”是很多人都会做的选择。前者是酱香型白酒的天花板&#xff0c;但后者却是浓香型白酒的“后来者”。 浓香型白酒的“鼻祖”&#xff0c;实际是坐拥国宝级窖池的泸州老窖&#xff0c;其上市时…

开源项目:智能化图像分类技术在新能源发电监控中的应用与实践

一、引言 在当今世界&#xff0c;能源的转型和升级是推动社会可持续发展的关键因素。随着技术的进步&#xff0c;新能源发电逐渐成为能源结构调整的重要力量。在众多发电方式中&#xff0c;新能源发电技术如风力、太阳能等因其清洁、可再生的特性而备受青睐。然而&#xff0c;…

vue入门相关内容

0.vue项目创建 01.vscode创建vue项目以及常见问题汇总 02.项目结构解读 03.启动项目直接访问自定义功能页面非APP.vue 1.事件修饰符 1.1事件修饰符stop 1.2事件修饰符capture 1.3事件修饰符self 1.4事件修…

Vue3中使用ffmpeg.wasm进行转码

一、安装方法 1.1 使用yarn进行安装 yarn add ffmpeg/ffmpeg ffmpeg/core1.2 安装版本 注意安装版本需在0.12.0以上版本才可以使用下面代码&#xff08;目前更新到0.12.10&#xff09;&#xff0c;之前的版本代码使用方法有所不同&#xff08;0.12.10之后的版本也可能会有变动…

【AIGC】如何提高Prompt准确度

前言 随着人工智能的迅猛进展&#xff0c;AIGC&#xff08;通用人工智能聊天工具&#xff09;已成为多个行业中不可或缺的自然语言处理技术。Prompt作为AIGC系统的一项关键功能&#xff0c;在工具的有效运作中发挥了举足轻重的作用。本篇文章将深入探讨Prompt与AIGC之间的紧密…

2024智能遥控器行业市场规模及技术水平分析

智能遥控器&#xff0c;主要是由集成电路板和用来生产不同讯息的按钮所组成&#xff0c;内装有一个中央处理器芯片&#xff0c;芯片在制造时就将设备各种菜单码值信息输入其中&#xff0c;遥控发射器只要发出与之对应的密码就可以实现对设备的控制。无线遥控技术原理就是发射机…

内存飙高问题如何排查?

目录 1、查看日志 2、查看GC情况 3、分析堆内存对象占用情况 4、分析堆内存快照文件 内存飙高如果发生在java进程上&#xff0c;一般情况是因为创建了大量对象导致&#xff0c;持续飙高说明垃圾回收跟不上对象创建的速度&#xff0c;或者内存泄漏导致对象无法被回收&#x…

案例介绍:汽车售后服务网络构建与信息抽取技术应用(开源)

一、引言 在当今竞争激烈的汽车行业中&#xff0c;售后服务的质量已成为品牌成功的关键因素之一。作为一位经验丰富的项目经理&#xff0c;我曾参与构建一个全面的汽车售后服务网络&#xff0c;旨在为客户提供无缝的维修、保养和配件更换服务。这个项目的核心目标是通过高效的…

【CFD小工坊】尝试完成一个简单的溃坝流算例(1)

【CFD小工坊】尝试完成一个简单的溃坝流算例&#xff08;1&#xff09; 前言算例简介网格生成数据的读入与输出模型参数的读入网格数据及结果数据的输出 前言 我们从一个简单的算例开始&#xff0c;从实际建模过程中学习和做代码。我选择的算例是一个矩形区域内的溃坝流&#…

ES入门六:Suggesters Api实践

都是负担在很多app上&#xff0c;当我们输入某些内容时候&#xff0c;它会立即做一些补全操作&#xff0c;如果我想实现上述的需求&#xff0c;我们就可以使用ES提供的Suggesters Api。那Suggesters是如何做到的那&#xff1f;简单来说&#xff0c;Suggesters会将输入的文本拆分…

每日一练:LeeCode-707. 设计链表 【链表+虚拟头结点+设计】

每日一练&#xff1a;LeeCode-707. 设计链表 【链表虚拟头结点设计】 思路设置虚拟头节点 本文是力扣 每日一练&#xff1a;LeeCode-707. 设计链表 【链表虚拟头结点设计】 学习与理解过程&#xff0c;本文仅做学习之用&#xff0c;对本题感兴趣的小伙伴可以出门左拐LeeCode-70…