Redis 五大基本数据类型常见命令

news2024/10/7 17:23:25

一、redis中的常见数据结构

Redis共有5种常见数据结构,分别字符串(STRING)、列表(LIST)、集合(SET)、散列(HASH)、有序集合(ZSET)。

二、redis中字符串(String)介绍

String 类型是一个 k-v 键值对形式的数据类型,一个 key 对应一个 value。

使用场景:

  1. 计数器
  2. 统计多单位的数量(uid:122:follow 10)
  3. 粉丝数
  4. 对象缓存存储
  5. ...

三、String 常见命令

1.Redis 默认有16个数据库(0~15),默认使用第0个

可以使用 select 进行切换

2.查看数据库大小

使用 dbsize查看数据库大小

3.查看所有的key(当前库)

使用 keys *

4.清除当前数据库

flushdb

5.清空所有数据库

flushall

6.判断key是否存在

exists  key

7.移除key

move key 1 // 1 表示移动到哪个数据库

del key // 删除当前数据库的key(可以多个)

8.设置key的过期时间

expire key 时间 // 单位时间为s

ttl key // 查看剩余存活时间

9.查看当前key的类型

type key

10.字符串追加(String)

append key appendValue

  • 如果当前 key 不存在,作用相当于 set key

11.获取字符串长度(String)

strlen key

12.字符串i++操作(可用于阅读量实现)(String)

incr key

同理,i --

decr key

步长设置

incrby key 步长

decrby key 步长

13.字符串片段 Range (String)(Range:范围)

getrange key [startIndex] [endIndex]

  • 对应java里的substring(但是这里会endIndex是一个闭区间)
  • 特例,endIndex = -1 时,表示从startIndex 到最后

14.字符串替换 (String)(Range:范围)

setrange key index replaceString

  • 对应java里的replace
  • 注意,如果replaceString是一个字符串,那么会替换源字符串中index后replaceString长度的片段,结果如下

15.特殊set设置 (String)

setex(set with expire)

setex key 时间 value // 设置值,带过期时间

setnx(set if not exist)

setnx key value // 如果不存在,则设置

16.批量设置、批量获取(原子性操作) (String)

mset k1 v1 k2 v2 …

mget k1 k2 …

  • 特殊
    • msetnx 批量设置(要么都成功,要么都失败)(原子性)

17.设置高阶 (String)

1)getset

getset key value // 先get再set(如果不存在,先返回nil,在设置值;如果存在,就先返回原值,再设置新值)

18.重命名key

rename key newName

四、List(列表)常见命令

使用场景:

  1. 栈(lpush、lpop)
  2. 队列(lpush、rpop)
    1. 消息队列
  3. 阻塞队列
  4. ....

1.从头部/尾部 插入 数据,以及数据 显示

lpush key value   // 从左边插入一个值

rpush key value   // 从右边插入一个值

lrange key 0 -1    // 从下标 0 开始,-1 代表遍历完

2.从头部/尾部 移除 数据

lpop key

rpop key

3.获取 指定索引的值

lindex key index

4.获取列表长度

llen key

5.移除指定的值

lrem key count(移除的个数) element

6.列表修剪 trim

        相当于 Java 中的 substring() 

ltrim key startIndex endIndex

7.也可以使用set

lset key index value // 将列表中 指定 index 的值替换为对应的 value

  • 需要保证key和index都存在,否则报错

8.插入指定的值

linsert key before|after pivot(那个值后) value

五、Set(集合)

集合中的值不能重复(无序)

1.添加成员到集合中,并查看所有成员

sadd key member

smembers key

2.判定成员是否存在

sismember key member

3.查看集合长度(特别)

scard key

4.移除指定的成员

srem key member

5.获取集合中的随机成员

srandmember key [count]

6.随机移除成员

spop key [count]

7.移动集合成员到其他集合

smove source destination member(需要移动的成员)

8.数字集合类:

  • 差集 sdiff key1 ,key2 …
  • 交集(共同好友)sinter key1,key2 …
  • 并集 sunion key1 ,key2 …

六、Hash(哈希)

key - Map  or  key - <k,v>,value 是一个 Map。

应用场景:用户信息保存,经常变动的信息,适合对象的存储 

1.简单存储Map和获取Map

hset key field value

hmset key field value [k1 v1 [k2 v2 …]]  // 批量添加一个 Hash 中的 key 和 value

hget key field

2.获取所有Map字段及值

hgetall key

3.删除Map中的字段

hdel key field

4.查看Map中某字段是否存在

hexists key field

5.获取所有字段或者所有字段对应的值

hkeys key // 此处的key是Map名

hvals key

6.增量i++

hincrby key field value

7.不存在,就添加成功

hsetnx key field value // field 在map中不存在就添加这个值,否则不做改变

8.适合存储对象(hmset)

 

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

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

相关文章

小红书内容种草怎么玩,koc铺量原则

一直以来&#xff0c;小红书平台都以其强大的种草力&#xff0c;而备受品牌关注。许多初创品牌更是将平台看做抢占市场的前沿阵地。那么小红书内容种草怎么玩&#xff0c;koc铺量原则是什么呢?今天来为大家详细介绍一下。 一、什么是koc铺量 要做好新品预热的koc铺量&#xff…

存bean和取bean

准备工作存bean获取bean三种方式 准备工作 bean:一个对象在多个地方使用。 spring和spring boot&#xff1a;spring和spring boot项目&#xff1b;spring相当于老版本 spring boot本质还是spring项目&#xff1b;为了方便spring项目的搭建&#xff1b;操作起来更加简单 spring…

有效和无效的帮助中心区别在哪?如何设计有效的帮助中心?

帮助中心就是一个丰富的知识库&#xff0c;可以对企业的潜在客户进行引导。不仅能够提升用户的使用体验还能为企业塑造更加专业的品牌形象&#xff0c;在使用过程中为用户提供帮助。帮助中心的目的就是为了解决用户在使用过程中遇到的困难&#xff0c;同时为用户的使用提供引导…

DC-9通关详解

信息收集 漏洞发现 result.php处存在sql注入 sqlmap跑信息 python sqlmap.py -u http://192.168.45.146/results.php --data search1 -D users -T UserDetails --dump 拿了几个尝试登录都无效 ssh尝试登录直接拒绝了 再看Staff表 查哈希 进后台 多了一个添加记录的功能 没啥…

数据结构(二叉树)

文章目录 一、树的基础概念1.1 树型结构1.2 树型的概念 二、二叉树2.1 概念 性质2.2 二叉树的存储2.2 二叉树的基本操作&#xff08;1&#xff09;遍历&#xff08;2&#xff09;其他 2.3 二叉树练习 一、树的基础概念 1.1 树型结构 树是一种非线性的数据结构&#xff0c;它…

ChatGPT 由0到1接入 Siri

ChatGPT 由0到1接入 Siri ChatGPT 由0到1接入 Siri第一步:获取 OpenAPI 的 Key第二步:制作快捷指令本教程收集于: AIGC从入门到精通教程 ChatGPT 由0到1接入 Siri 分享如何将 GPT 应用集成到苹果手机的 Siri 中 (当然手机是需要魔法(TZ)的) 第一步:获取 OpenAPI 的…

网络安全可以从事哪些岗位?岗位职责是什么?

伴随着社会的发展&#xff0c;网络安全被列为国家安全战略的一部分&#xff0c;因此越来越多的行业开始迫切需要网安人员&#xff0c;也有不少人转行学习网络安全。那么网络安全可以从事哪些岗位?岗位职责是什么?相信很多人都不太了解&#xff0c;我们一起来看看吧。 1、安全…

电阻阻值读取方法、电容容值的读取方法

电阻、电容的数值读取方法 文章目录 电阻、电容的数值读取方法前言1、电阻读数1.1 贴片电阻1.2.直插色环电阻 2、电容读数2.1 电容单位换算2.2 电容读数方法 前言 现在随着电子产品的不断升级优化&#xff0c;做到体积越来越小了&#xff0c;以前发现还是用得很多直插电阻和一…

百年不用了,今天拾起来 sort() 排序

简单赘述一下需求。 原本前端调用后端接口是自带排序功能的&#xff0c;一般是按照创建单据的时间&#xff0c;后端会处理好返回给我们。 但是有时候有特别的限制&#xff0c;需要前端自行处理排序展示。 如上图所示&#xff0c; 列表和列表扩展行均要根据我们新增或编辑的时候…

ATTCK v13版本战术介绍——防御规避(五)

一、引言 在前几期文章中我们介绍了ATT&CK中侦察、资源开发、初始访问、执行、持久化、提权战术理论知识及实战研究、部分防御规避战术&#xff0c;本期我们为大家介绍ATT&CK 14项战术中防御规避战术第25-30种子技术&#xff0c;后续会介绍防御规避其他子技术&#xf…

什么蓝牙耳机好?业内权威蓝牙耳机排名TOP5

蓝牙耳机是当下最热门的数码产品&#xff0c;我个人已经买过十来款蓝牙耳机了&#xff0c;最近逛论坛看到知名数码论坛公布了蓝牙耳机排名TOP5&#xff0c;不懂什么蓝牙耳机好的朋友们在选购时可以从中入围的品牌中进行挑选。 一、JEET Air2蓝牙耳机 推荐理由&#xff1a;舒适…

springboot项目部署教程【本地+云服务器】

目录 前言一、环境准备二、项目导入三、配置Maven四、数据库导入五、启动项目六、浏览器访问结语 前言 springboot项目部署教程用最简单、暴力的方法完成项目导入。 &#x1f947;个人主页&#xff1a;MIKE笔记 &#x1f948;文章专栏&#xff1a;毕业设计源码合集 ⛄联系博主…

一、LLC 谐振变换器工作原理分析

1 前言 LLC 谐振电路采用脉冲频率调制(PFM)&#xff0c;通过改变驱动信号的频率来控制变换器的能量传输。谐振电路中的三个谐振元件为&#xff1a;谐振电感 Lr、谐振电容 Cr 和励磁电感 Lm&#xff0c;它们根据工作模式的不同可形成两个谐振频率。与串联谐振变换器相比&#x…

vue 组件 隐藏内容,点击展示更多功能

效果图 代码 <template><div class"m-text-overflow modules"><div class"l-content" :style"contentStyle"><div ref"refContent"><slot><span v-html"content"> </span></…

基于AT89C52单片机的万年历设计与仿真

点击链接获取Keil源码与Project Backups仿真图&#xff1a; https://download.csdn.net/download/qq_64505944/87777668?spm1001.2014.3001.5503 源码获取 主要内容&#xff1a; 本次设计所提出的一种基于单片机技术的万年历的方案&#xff0c;能更好的解决万年历显示的问题…

公司招人,面试了一个4年经验要20K的,一问自动化都不会····

公司前段时间缺人&#xff0c;也面了不少测试&#xff0c;结果竟然没有一个合适的。一开始瞄准的就是中级的水准&#xff0c;也没指望来大牛&#xff0c;提供的薪资在10-20k&#xff0c;面试的人很多&#xff0c;但平均水平很让人失望。 看简历很多都是3、4年工作经验&#xf…

【腾讯云 Finops Crane集训营】Finops Crane究竟能为我们带来什么价值和思考?深入探究Crane

目录 前言 一、Crane目的是什么&#xff1f; 二、Crane有哪些功能&#xff1f; 1.成本可视化和优化评估 2.推荐框架 3.基于预测的水平弹性器 4.负载感知的调度器 5.拓扑感知的调度器 6.基于 QOS 的混部 三.Crane的整体架构及特性 1.Crane架构 Craned Fadvisor Metr…

postman runner使用外部数据

场景: 使用postman进行接口测试&#xff0c;需要对一个collection中的所有接口进行测试&#xff0c;或者需要使用指定的参数对collection中的接口进行测试。 工具&#xff1a; Postman for Windows Version 10.12.0接口文件&#xff08;链接&#xff1a;https://pan.baidu.co…

环境土壤物理模型HYDRUS建模方法

查看原文>>>系统学习环境土壤物理模型HYDRUS建模方法与多案例应用 目录 一、HYDRUS模型概述 二、土壤和地下水流问题基础知识 三、 溶质运移问题模拟 四、热量传输问题模拟 五、模型外部接口 其它生态环境相关推荐 HYDRUS是由著名土壤学家Rien van Genuchten和…

物联网| 定时器计数器开发之中断方法|定时器中断处理函数|完整测试代码|物联网之蓝牙4.0 BLE基础-学习笔记(6)

文章目录 11 定时器计数器开发之中断方法定时器中断处理函数:完整测试代码&#xff1a; 11 定时器计数器开发之中断方法 LED控制电路同前节&#xff1a; CC2530的T3定时器(8位&#xff09;需要了解T3GJL,T3CCTLO,T3CCO,T3CCTL1,T3CC寄存器。如下表所示&#xff1a; 按照表格…