Redis7(二)数据类型及其用法

news2024/11/26 19:52:24

一、概述

命令不区分大小写,key区分大小写

数据类型针对value

String

List Set

Hash ZSet

bitmap GEO

HyperLogLog

Stream bitfield

二、String <K,V>

1、设值/取值

getrange key index1 index2
getrange key  0  -1//获取所有的值
SETRANGE KEY_NAME OFFSET VALUE
setrange key  0  xx //abcd -> xxcd

 2、获取区间值/设置区间值

set key value
get key
mset key1 value1 key2 value2 key3 value3
mget key1 key2 

3、数值增减

INCR key //加1
INCRBY key increment //INCRBY key1 3
DECR key
DECRBY key decrement//DECRBY key1 2

 4、获取字符串长度

strlen key

5、内容追加

append key value//append key1 xxx  abc->abcxxx

6、分布式锁

setex 键 秒值 真实值

setex key1 15 hello
setnx:只有在 key 不存在时设置 key 的值

00a264709a05423b80fa904982ca7f35.png

7、getset 先get然后立即set

将给定 key 的值设为 value ,并返回 key 的旧值(old value)

3bae3fbb36bc4be6a1a72ff7401b05b3.png

二、List  一个key多个value  有序重复  

底层为双向链表

1、lpush、lrange、lpop&rpop

lpush list1 v1 v2 v3 v4
lrange list1 0 -1
1)v4
2)v3
3)v2
4)v1

8e4de5a8cdc54b129d544918fc1addc5.png

2、lindex

lindex key index
lindex list1 0
v4

list1
1)v4
2)v3
3)v2
4)v1

3、llen

llen list
llen list1
4

4、 lrem

LREM list3 0 值,表示删除全部给定的值。零个就是全部值

09f5d5d9a9e944bba1547fa73e405bbd.png

5、ltrim

e56330c56053487fa50a70f9eba97512.png

 6、lset key index value

替换值

19e55921a6994fb48497941de4135b1b.png

7、linsert key before/after 已有值  插入的新值

b1f8a2231f4e44e4989e30e82da71dd5.png

8、rpoplpush 源列表 目标列表

1c9c5b742b074cb2905273a67c907955.png

 

d4de05e0affb4146be2adce94d96dce1.png

三、Set  一个key多个value  无序不重复

cdfc5423031e44ee8340473383ee7f5d.png

四、Hash  <K,<k,v>>

26a99da689ad4b5aba1ceaccae4e44a8.png

五、ZSet

key score1 v1 score2 v2 score3 v3
key1 30 v1 40 v2 50 v3

1、zrange key start stop [withscores]&zrevrange

按照分数从小到大返回区间元素

4094c5bd82be44d5aea2dd4a18b3fbc1.png

2、ZRANGEBYSCORE zset  min max 

ZCOUNT zset min max

获取指定分数范围内的元素

073b1414edf24ff6bd5440c3fc6af40d.png

3、正序逆序获取下标索引值 

d2ad1a25986c478fa24a3f652b288245.png

4、ZMPOP numkeys key [key ...] <MIN | MAX> [COUNT count]

ZMPOP  移除个数 有序集合名  <MIN | MAX>  [COUNT  限制数]  

限制数默认为1

c5bcb578a0dd40229aa2f3dbdb7de11d.png

 

 

538d5426ede64f0b8c5a3014399b15ef.png

 

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

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

相关文章

代码随想录第34天| 1005.K次取反后最大化的数组和 134. 加油站 135. 分发糖果

1005.K次取反后最大化的数组和 1005. K 次取反后最大化的数组和 - 力扣&#xff08;LeetCode&#xff09; 代码随想录 (programmercarl.com) 贪心算法&#xff0c;这不就是常识&#xff1f;还能叫贪心&#xff1f;LeetCode&#xff1a;1005.K次取反后最大化的数组和_哔哩哔…

如何选择苹果iOS系统的企业签名分发平台

哈喽&#xff0c;大家好呀&#xff0c;淼淼有和大家见面啦&#xff0c;前两期讲了分发内测的一些相关知识&#xff0c;这一期咱们来聊聊企业签名分发平台的相关知识。最近移动应用市场的竞争一天比一天要激烈&#xff0c;许多做开发的小伙伴们都在为此发愁&#xff0c;愁着该怎…

不要再使用 @Builder 注解了!有深坑呀!

曾经&#xff0c;我在《千万不要再随便使用 lombok 的 Builder 了&#xff01;》 一文中提到 Builder 注解的其中一个大坑会导致默认值失效&#xff01; 最近阅读了 《Oh !! Stop using Builder》 发现 Builder 的问题还不止一个&#xff0c;Builder 会让人误以为是遵循构建器…

java的封装

在Java中&#xff0c;封装是面向对象编程中的一种重要概念&#xff0c;它指的是将数据和方法打包在一个单一的单位&#xff08;类&#xff09;中&#xff0c;并对外部隐藏对象的内部细节。封装通过将类的成员变量声明为私有的&#xff0c;并提供公共的方法来访问和修改这些变量…

数据库关系模式三元及以上分解无损连接判断(表格法)

例题 1.首先构造初始表&#xff0c;如下表所示。 A B C D E ABC a1 a2 a3 b14 b15 CD b21 b22 a3 a4 b15 DE b31 b32 b33 a4 a5 2.遍历函数依赖&#xff0c;对AB→C&#xff0c;因各元组的第一、二列没有相同的分量&#xff0c;所以表不改变。 3.由C→D…

【日常记录】【JS】getComputedStyle 获取DOM的最终样式值

文章目录 1、介绍2、getComputedStyle3、链接 1、介绍 Window.getComputedStyle()方法返回一个对象&#xff0c;该对象在应用活动样式表并解析这些值可能包含的任何基本计算后报告元素的所有 CSS 属性的值。私有的 CSS 属性值可以通过对象提供的 API 或通过简单地使用 CSS 属性…

指针的深入理解(六)

指针的深入理解&#xff08;六&#xff09; 个人主页&#xff1a;大白的编程日记 感谢遇见&#xff0c;我们一起学习进步&#xff01; 文章目录 指针的深入理解&#xff08;六&#xff09;前言一. sizeof和strlen1.1sizeof1.2strlen1.3sizeof和strlen对比 二.数组名和指针加减…

javaWeb物流信息网的设计与实现

摘要 本文讲述了基于JSP物流信息网的设计与实现。该系统使用java语言开发&#xff0c;使系统具有更好的平台性和可扩展性。 该系统实现了用户登录、注册、查询快递信息、快递公司注册成为合作伙伴以及系统管理员对信息进行管理等功能。系统的主要界面会将所有的服务排列好&…

Typora段内公式

文件——>偏好设置——>Markdown——>内联公式 $$ 输入公式 $$

【grpc】二、grpc入门,基本使用方法

上篇介绍了使用protobuf生成grpc相关代码&#xff0c;并实现了服务端方法&#xff0c;本篇介绍下具体的使用。 一、服务端 // server.gopackage mainimport ("google.golang.org/grpc""grpcDemo/calc""net" )func startServer(addr string) {//…

【C语言】函数相关选择题

前言 关于函数相关的选择题。 题目一&#xff1a; C语言规定&#xff0c;在一个源程序中&#xff0c;main函数的位置&#xff08; &#xff09; A .必须在最开始 B .必须在库函数的后面 C .可以任意 D .必须在最后 题解&#xff1a;选择C。 main函数为C语言中整个工程的程序入…

快速理解vim编辑器和软硬连接

刚开始学习linux基础命令时最难搞懂的应该就是vi和ln命令了&#x1f62d;&#xff0c;写这篇文章主要想和大家分享一下我对这两个命令的理解&#xff0c;希望能更快的帮助到那些还没搞懂的同学&#x1f61c; 首先我们要知道vim编辑器主要分为三个工作模式&#xff0c;分别是图上…

python中的split()用法

在Python中&#xff0c;split() 是一个字符串方法&#xff0c;用于将字符串按照指定的分隔符分割成一个列表。如果没有提供分隔符&#xff0c;那么它会默认按照任何空白字符&#xff08;如空格、换行符、制表符等&#xff09;进行分割。 这里是 split() 方法的一些基本用法&am…

K8s学习九(配置与存储_存储)

存储管理 Volumes HostPath 将节点上的文件或目录挂载到 Pod 上&#xff0c;此时该目录会变成持久化存储目录&#xff0c;即使 Pod 被删除后重启&#xff0c;也可以重新加载到该目录&#xff0c;该目录下的文件不会丢失 效果就是容器里的数据和主机里的数据进行共享 配置文…

Hadoop安装部署-SecondaryNameNode备份版

Hadoop分布式文件系统支持NameNode节点的高可用性&#xff0c;本文主要描述Secondary NameNode数据备份版本的安装部署。 如上所示&#xff0c;NameNode主节点同步数据到NameNode备份节点&#xff0c;当NameNode主节点发生故障变得不可用时&#xff0c; NameNode主节点重新启动…

【多线程】多线程下使用集合类

一.Java中线程安全的集合类 Java中提供了多种线程安全的集合类&#xff0c;它们可以在多线程环境下安全地被多个线程同时访问而无需外部同步。以下是一些常见的线程安全集合类&#xff1a; Vector: 类似于 ArrayList 的动态数组&#xff0c;但是所有方法都是同步的&#xff0…

ThinkPhp8 框架使用 mysql find_in_set 函数

前言: 使用mysql 存储一些标签时 会使用逗号拼接的存储方法 比如 1,2,3,11 一般情况下 查询 1 可能会用到 like %1% 但这样查询的不够准确 因为11也会被查询到 如果每次都多一个逗号 1,2,3,11, 查询时 like %1,% 这样存储有点不太符合程序设计 解决方案 ----------- 官网…

Linux 5.10 Pstore 功能测试

目录 简介环境配置内核配置参考备注 简介 Pstore(Persistent store support)是用于系统发生oops或panic时&#xff0c;自动保存内核log buffer中的日志。随着功能不断完善&#xff0c;Duo S使用Linux 5.10已经支持保存console日志、ftrace消息和用户空间日志的收集&#xff0c…

【Shell语言学堂】Shell 脚本练习1

Shell 脚本练习 shell语言实战 Shell 脚本练习&#x1f4a7;CSDN划过手的泪滴t现有一个脚本可传入n个参数&#xff0c;要求在脚本中实现在终端输出第n个参数之前的所有参数(不包含第n个参数)编写一个计算bmi体质指数的脚本&#xff0c;该脚本需要用户输入身高和体重信息&#x…

登录信息失效后多次请求提示合并成一次

在通常的业务场景中经常会出现进入页面之后一次性发送好多个请求,如果登录信息失效,那就会出现很多提示 类似这种多个提示的,看起来不美观,希望改成可以把在短时间内出现相同的错误信息,只提示一次,其他的就不提示了 实现思路 通常业务中每一个请求的code都是有具体的意思,可以…