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

字符串的操作

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  // 获取列表的长度

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL字符集和比较规则

MySQL字符集和比较规则 字符集和比较规则简介 字符集: 描述字符与二进制数据的映射关系 比较规则:比较指定字符集中的字符的规则 字符集 我们知道,计算机无法直接存储字符串,实际存储的都是二进制数据。字符集是有限的&#xff…

windos 批量自定义 重命名

有时候需要批量重命名,window全选重命名格式又不能自定义,所以写了一个批处理文件来完成,可以自定义文件名格式 1.使用用方法 echo off setlocal enableextensions enabledelayedexpansion set i1 for /f %%i in (cd) do set var%%i for /r …

Python打发无聊时光:13.用pywin32库制作电脑本地快捷应用

第一步:新建一个simple_app.py 装库pywin32库 pip install pywin32 新建一个simple_app.py,复制下面代码,或者可以自己设计内容给 import tkinter as tkclass AnimatedGUI:def __init__(self, root):self.root rootself.root.title(&quo…

HTTP/2、HTTP/3分别解决了什么问题

总的来说就是HTTP/1.1是请求-响应模型导致队头阻塞问题,HTTP2是TCP层面导致队头阻塞问题 HTTP/2 多路复用,解决了HTTP/1.1队头阻塞问题 HTTP/1.1 的实现是基于请求-响应模型的。同一个连接中,HTTP 完成一个事务(请求与响应&…

华为OD机试真题C卷-篇6

100分值题 宽度最小的子矩阵部门人力分配电脑病毒感染会议室占用时间段路口最短时间问题5G网络建设 宽度最小的子矩阵 给定一个n行 * m列的矩阵;给定一个k个整数的数组k_list;在n*m的矩阵中找一个宽度最小的子矩阵,该子矩阵包含k_list中所有…

【三维重建】VastGaussian:用于大场景重建的大3D Gaussian(CVPR 2024)

题目:VastGaussian: Vast 3D Gaussians for Large Scene Reconstruction 来源:清华大学;华为诺亚;中国科学院 链接:https://vastgaussian.github.io/ 总结:VastGaussian:基于3D GS的分块优化重…

2024年天津市安全员B证证模拟考试题库及天津市安全员B证理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年天津市安全员B证证模拟考试题库及天津市安全员B证理论考试试题是由安全生产模拟考试一点通提供,天津市安全员B证证模拟考试题库是根据天津市安全员B证最新版教材,天津市安全员B证大纲整理…

【Linux】Linux原生异步IO:AIO

1、IO模型 1.1 简述 相信大家在搜索的时候,都会看到下面这张图,IO的使用场景:同步、异步、阻塞、非阻塞,可以组合成四种情况: 同步阻塞I/O: 用户进程进行I/O操作,一直阻塞到I/O操作完成为止。同步非阻塞I/O: 用户程序可以通过设置文件描述符的属性O_NONBLOCK,I/O操作可…

世界的本质是旋转(5)-在复平面上驱动软件无线电SDR交换BPSK波形

在上一篇文章中,我们介绍了复平面、拍照采样的一些思维实验。从本节开始,转入现实应用,通过控制复平面向量的位置,实现一个完整的BPSK全双工通信通道。 发射方:通过控制复平面向量在各个时刻的位置来携带信息的技术&a…

Socks5代理协议:原理、应用与优势

在计算机网络中,代理协议是一种用于转发客户端请求的机制。Socks5是其中一种广泛使用的代理协议。它主要工作在传输层和应用层之间,位于OSI参考模型的第五层(会话层)。其设计初衷是为了帮助授权用户突破防火墙限制,获取…

【洛谷 P8682】[蓝桥杯 2019 省 B] 等差数列 题解(数学+排序+辗转相除法)

[蓝桥杯 2019 省 B] 等差数列 题目描述 数学老师给小明出了一道等差数列求和的题目。但是粗心的小明忘记了一部分的数列,只记得其中 N N N 个整数。 现在给出这 N N N 个整数,小明想知道包含这 N N N 个整数的最短的等差数列有几项? 输…

远程调用--webClient

远程调用webClient 前言1、创建webClient2、准备数据3、执行请求4、接收返回响应到的数据整体代码 前言 非阻塞、响应式HTTP客户端 1、创建webClient WebClient client WebClient.create();2、准备数据 Map<String,String> params new HashMap<>();params.pu…

google最新大语言模型gemma本地化部署

Gemma是google推出的新一代大语言模型&#xff0c;构建目标是本地化、开源、高性能。 与同类大语言模型对比&#xff0c;它不仅对硬件的依赖更小&#xff0c;性能却更高。关键是完全开源&#xff0c;使得对模型在具有行业特性的场景中&#xff0c;有了高度定制的能力。 Gemma模…

c语言游戏实战(10):坤坤的篮球回避秀

前言&#xff1a; 这款简易版的球球大作战是博主耗时两天半完成的&#xff0c;玩家需要控制坤坤在游戏界面上移动&#xff0c;来躲避游戏界面上方不断掉下来的篮球。本游戏使用C语言和easyx图形库编写&#xff0c;旨在帮助初学者了解游戏开发的基本概念和技巧。 在开始编写代…

php开发项目 docx,pptx,excel表格上传阿里云,腾讯云存储后截取第一页生成缩略图

服务器或者存储上传的word,ppt和excel表格需要截取内容展示的时候,就需要管理后台每次上传文件时根据不同文件类型截取图片保存起来,并讲图片的地址保存到数据字段中.网上搜索了很多相关文章遇到的坑不少,经过2天时间终于完成了,将代码和遇到的问题完整记录下来. 本文用的…

【JavaEE进阶】 Linux常用命令

文章目录 &#x1f343;前言&#x1f334;ls 与 pwd&#x1f6a9;ls&#x1f6a9;pwd &#x1f38d;cd&#x1f6a9;认识Linux目录结构 &#x1f340;touch与cat&#x1f6a9;touch&#x1f6a9;cat &#x1f332;mkdir与rm&#x1f6a9;mkdir&#x1f6a9;rm &#x1f384;cp与…

长贵对赵本山说:你需要我们家大脚,我立马给你配双大鞋!

长贵对赵本山说&#xff1a;你需要我们家大脚&#xff0c;我立马给你配双大鞋&#xff01; --小品《乡村爱情》&#xff08;中2&#xff09;的台词 表演者&#xff1a;赵本山 于月仙 王小利 唐鉴军等 &#xff08;接上&#xff09; 哈哈哈 伊拉克啊 这地方也不产这玩意吧 …

Blazor 向 ECharts 传递 option

目标 将ECharts封装为Blazor组件&#xff0c;然后通过jsRuntime向ECharts传递参数&#xff0c;即设置option。 封装ECharts 步骤&#xff1a; 1. 在index.html中引入echarts.min.js&#xff1b; 2. 创建blazor组件&#xff0c;将ref传递给js用于初始化echarts&#xff1b; …

指定新加坡|高职老师自费赴新加坡国立大学访学交流

K老师任职于某高职院校&#xff0c;希望通过自费出国访学&#xff0c;达到拓宽国际化视野&#xff0c;为本校的专业发展寻求新契机的目的&#xff0c;并将访学目标国家指定为新加坡。最终我们为其获得新加坡国立大学的邀请函。因交叉性、前沿性的专业特性&#xff0c;K老师的出…

构建安全的REST API:OAuth2和JWT实践

引言 大家好&#xff0c;我是小黑&#xff0c;小黑在这里跟咱们聊聊&#xff0c;为什么REST API这么重要&#xff0c;同时&#xff0c;为何OAuth2和JWT在构建安全的REST API中扮演着不可或缺的角色。 想象一下&#xff0c;咱们每天都在使用的社交媒体、在线购物、银行服务等等…