Redis数据类型与常用命令

news2024/11/22 11:08:25

文章目录

  • 前言
  • 一、Redis数据类型
    • 1. Redis数据类型简介
    • 2. Redis数据类型特点
  • 二、Redis常用命令
    • 1. 字符串string 操作命令
    • 2. 哈希hash 操作命令
    • 3. 列表list 操作命令
    • 4. 集合set操作命令
    • 5. 有序集合 sorted set 操作命令
    • 6. 通用命令
  • 总结


前言

为了巩固所学的知识,作者尝试着开始发布一些学习笔记类的博客,方便日后回顾。当然,如果能帮到一些萌新进行新技术的学习那也是极好的。作者菜菜一枚,文章中如果有记录错误,欢迎读者朋友们批评指正。
(博客的参考源码可以在我主页的资源里找到,如果在学习的过程中有什么疑问欢迎大家在评论区向我提出)

一、Redis数据类型

1. Redis数据类型简介

  • Redis存储的是key-value结构的数据,其中key是字符串类型,value有5种常用的数据类型
  1. 字符串 string
  2. 哈希 hash
  3. 列表 list
  4. 集合 set
  5. 有序集合 sorted set

2. Redis数据类型特点

在这里插入图片描述

二、Redis常用命令

1. 字符串string 操作命令

1. Redis 中字符串类型常用命令如下

命令作用
SET key value设置指定 key 的值
GET key获取指定 key 的值
SETEX key seconds value设置指定 key 的值,并将 key 的过期时间设为 seconds 秒(典型应用 :验证码)
SETNX key value只有在 key 不存在时设置 key 的值(典型应用 :分布式锁)

2. 示例

  • 启动 windows 客户端 redis 服务
    在这里插入图片描述

在这里插入图片描述

更多命令可以参考Redis中文网: https://www.redis.net.cn

2. 哈希hash 操作命令

1. Redis hash 是一个string类型的 field和 value 的映射表,hash特别适合用于存储对象,常用命令如下

命令行作用
HSET key field value将哈希表 key 中的字段 field 的值设为 value
HGET key field获取存储在哈希表中指定字段的值
HDEL key field删除存储在哈希表中的指定字段
HKEYS key获取哈希表中所有字段
HVALS key获取哈希表中所有值
HGETALL key获取在哈希表中指定 key 的所有字段和值

在这里插入图片描述

2. 示例

在这里插入图片描述

3. 列表list 操作命令

  1. Redis 列表是简单的字符串列表,按照插入顺序排序,常用命令如下
命令行作用
LPUSH key value1 [value2]将一个或多个值插入到列表头部
LRANGE key start stop获取列表指定范围内的元素
RPOP key移除并获取列表最后一个元素
LLEN key获取列表长度
BRPoP key1 [key2] timeout移出并获取列表的最后一个元素,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止

在这里插入图片描述

2. 示例

在这里插入图片描述

4. 集合set操作命令

1. Redis set 是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据,常用命令如下

命令行作用
SADD key member1[member2]向集合添加一个或多个成员
SMEMBERSkey 返回集合中的所有成员
SCARD key获取集合的成员数
SINTER key1 [key2]返回给定所有集合的交集
SUNIoN key1 [key2]返回所有给定集合的并集
SDIFF key1 [key2]返回给定所有集合的差集
SREM key member1 [member2]移除集合中一个或多个成员

在这里插入图片描述

2. 示例

在这里插入图片描述

5. 有序集合 sorted set 操作命令

  1. Redis sorted set 有序集合是 string 类型元素的集合,且不允许重复的成员。每个元素都会关联一个double类型的分数(score)。redis 正是通过分数来为集合中的成员进行从小到大排序。有序集合的成员是唯一的,但分数却可以重复。常用命令如下
命令行作用
ZADD key score1 member1 [score2 member2]向有序集合添加一个或多个成员,或者更新已存在成员的分数
ZRANGE key start stop [WITHSCORES]通过索引区间返回有序集合中指定区间内的成员
ZINCRBY key increment member有序集合中对指定成员的分数加上增量 increment
ZREM key member[member …]移除有序集合中的一个或多个成员

2. 举例

在这里插入图片描述

6. 通用命令

1. 常用通用命令行如下

命令行作用
KEYS pattern查找所有符合给定模式(pattern)的 key
EXISTS key检查给定 key 是否存在
TYPE key返回 key 所储存的值的类型
TTL key返回给定 key 的剩余生存时间(TTL,time to live),以秒为单位
DEL key该命令用于在 key 存在是删除 key

2. 举例

在这里插入图片描述

总结

欢迎各位留言交流以及批评指正,如果文章对您有帮助或者觉得作者写的还不错可以点一下关注,点赞,收藏支持一下。
(博客的参考源码可以在我主页的资源里找到,如果在学习的过程中有什么疑问欢迎大家在评论区向我提出)

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

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

相关文章

TRT3-trt-basic - 6 Int8的量化

int8量化是利用int8乘法替换float32乘法实现性能加速的一种方法 对于常规模型有:y kx b,此时x、k、b都是float32, 对于kx的计算使用float32的乘法 对于int8模型有:y tofp32(toint8(k) * toint8(x)) b,其中int8 * int8结果为in…

win7,win10下删除HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\报错

在调试虚拟网卡驱动时,由于修改错误,导致枚举顺序错乱,因此通过删除HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\WINTUN下的所有项,即可,win10可用。 1、下载PStools: http://technet.microsoft.c…

130、仿真-基于51单片机智能窗户温湿度电机控制仿真设计(Proteus仿真+程序+配套资料等)

方案选择 单片机的选择 方案一:STM32系列单片机控制,该型号单片机为LQFP44封装,内部资源足够用于本次设计。STM32F103系列芯片最高工作频率可达72MHZ,在存储器的01等等待周期仿真时可达到1.25Mip/MHZ(Dhrystone2.1)。内部128k字节…

算法(1):斐波那契数列模型

目录 🦁三步问题 🍉题目解析 🍉算法原理 🍒状态表示 🍒状态转移方程 🍒初始化 🍒填表顺序、返回值 🍉代码编写 🦁使用最小花费爬楼梯 🍉题目解析 …

为什么选择STM32才是明智之选?

在电子工程领域,我们强调适用性,性能并非最重要,甚至不是首要考虑因素。选择合适的微控制器(MCU)根据设计需求而异,常规做法是在保证功能满足的前提下,选择稳定可靠且经济实惠的器件。而对于那些…

前端转换bigInt,axios拦截器失效

前端转换bigInt,axios拦截器失效 关于bigInt的使用切换雪花ID解决精度丢失问题进度丢失,前端不支持bigInt解决问题 拦截器失效验证及解决 关于bigInt的使用 这篇文章算是使用中的小笔记吧,主要是我自己搜索没找到直接的方法😓&am…

SSH隧道功能

随着互联网的普及和发展,越来越多的企业需要申请公网IP地址。(公网IP地址是指可以在互联网上直接访问的P地址,可以用于建立网站、远程办公、视频监控等应用。) 而公网IP费用较高,笔者在某搜索软件上搜了一下&#xff…

科研创新服务平台性能分析案例

前言 信息中心老师反应,用户反馈科研创新服务器平台有访问慢的情况,需要通过流量分析系统来了解系统的运行情况,此报告专门针对系统的性能数据做了分析。 信息中心已部署NetInside流量分析系统,使用流量分析系统提供实时和历史原…

笑谈测试员躺着也中枪的那些事

在近9年的软件测试职业生涯中,多少遇到一些奇奇怪怪的事。而最悲催的莫过于那些自己躺着也中枪的事,如果处理不好惹火烧身,直接被“毙掉”也不无可能。 下面就摆摆那些事儿(其中可能因人老记忆衰退严重,与事实间有一定的夸大成分&…

【字节流】复制文本文件

字节流复制文本文件 1.需求: 把“D:\\浏览器下载\\窗里窗外.txt”复制到模块目录下的“窗里窗外.txt” 2.分析: ①复制文本文件,其实就把文本文件的内容从一个文件中读取出来(数据源),然后写入另一个文件…

jenkins手把手教你从入门到放弃03-安装Jenkins时web界面出现该jenkins实例似乎已离线

简介 很久没有安装jenkins了,因为之前用的的服务器一直正常使用,令人郁闷的是,之前用jenkins一直没出过这个问题。 令人更郁闷的是,我尝试了好多个历史版本和最新版本,甚至从之前的服务器把jenkins在跑的程序打包copy…

c++避免头文件多次包含的方法

c避免头文件多次引用的方法 方法1方法2例子头文件包含多次导致类重定义使用方法1避免重复定义使用方法2避免重复定义 方法1 把#pragma once指令放在文件的开头 方法2 用 #ifndef 条件编译指令。 #ifndef _GIRL_#define _GIRL_//代码内容。 #endif 例子 头文件包含多次导致…

用百度地图api获取当前定位,获取经纬度——前端笔记

问题&#xff1a; 做一个按钮&#xff0c;点击后可以获取到当前位置的经纬度&#xff0c;并渲染地图。 效果如下: 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head><title>获取当前定位测试<…

极智开发 | ubuntu交叉编译aarch64 boost

欢迎关注我的公众号 [极智视界]&#xff0c;获取我的更多经验分享 大家好&#xff0c;我是极智视界&#xff0c;本文介绍一下 ubuntu交叉编译aarch64 boost。 邀您加入我的知识星球「极智视界」&#xff0c;星球内有超多好玩的项目实战源码和资源下载&#xff0c;链接&#xf…

目录穿越漏洞

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 目录穿越漏洞 目录穿越漏洞 目录穿越不仅可以访问服务器中的任何目录&#xff0c;还可以访问服务器中任何文件的内容。例如&#xff0c;攻击者通过浏览器访问…/……

ES6 Generator和Promise

目录 Generator 如何创建Generator函数 ? 模拟发起异步请求 Promise 实例化 实例方法 工厂函数 静态方法 Promise.all([p1,p2,....]) Promise.race([p1,p2,....]) Promise.any([p1,p2,....]) Promise.allSettled([p1,p2,....]) Generator Generator是ES6提供的一种…

Day56|583. 两个字符串的删除操作 、72. 编辑距离

583. 两个字符串的删除操作 1.题目&#xff1a; 给定两个单词 word1 和 word2 &#xff0c;返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字符串中的一个字符。 示例 1&#xff1a; 输入: word1 "sea", word2 "eat" 输出: …

SSD 常用概念

1. 写入放大&#xff08;WA&#xff09; 写入放大会对闪存 P / E 次数造成磨损。在存储过程中&#xff0c;数据会在闪存上被反复的移动整理&#xff0c;造成闪存上的写入量大于实际文件写入量&#xff0c;这个过程称为写放大。 写放大 主控实际写入的数据量 / 用户想要写入的数…

GDB调试——学习笔记

文章目录 GDB是什么GDB调试的一般步骤1. 编译生成带源代码信息的可执行文件2. 启动调试3. 进行调试&#xff1a;设置断点、查看变量、寻找BUG4. 退出调试 GDB是什么 GDB就是一个程序代码调试的工具。 GDBGCC开发环境 GDB调试的一般步骤 1. 编译生成带源代码信息的可执行文件…

机器学习1

核心梯度下降算法&#xff1a; import numpy as np from utils.features import prepare_for_trainingclass LinearRegression:def __init__(self,data,labels,polynomial_degree 0,sinusoid_degree 0,normalize_dataTrue):"""1.对数据进行预处理操作2.先得到…