大数据求索(13): Redis数据类型详解

FMCW毫米波雷达原理一 1、简介 毫米波雷达的优点是角分辨率高、频带宽因而有利于采用脉冲压缩技术、多普勒颇移大和系统的体积小。目前笔者接触到的有24G毫米波雷达和77G毫米波雷达。 24G毫米波雷达主要应用在交通领域的测距和车辆测速,在其他领域也有使用24G毫米波雷达。 77G毫米波雷达主要应用在无人驾驶,汽车周围的目标检测等领域。 在首次接触雷达时,一头雾水。搞不清一个chirp的时域图和频域图的关系、中频信号以及其他名词的基本概念。在TI培训官网上看到一些毫米波雷达原理的视频才豁然开朗。TI培训官网毫米波传感介绍 本文主要是通 阅读详情

大数据求索(13): Redis数据类型详解

一、Redis五大数据类型

Redis总共有五大数据类型,分别包括以下内容:

  • String(字符串)
  • Hash(哈希)
  • List(列表)
  • Set(集合)
  • ZSet(有序集合)

丰富的数据类型使得Redis能够在非常多的场景下发挥巨大的作用,下面对这五种数据类型分别作详细介绍。

二、String

2.1 重要概念

String是redis最基本的类型,你可以理解成与Memcached一模一样的类型(Memcached只支持String),一个key对应一个value,是单值单value的。

String类型是二进制安全(类似java中的序列化)的。意思是redis的string可以包含任何数据,比如jpg图片或者序列化的对象 。

String类型是Redis最基本的数据类型,一个String中字符串value最多可以是512M。

2.2 核心命令

  • set/get/del/append/strlen

  • Incr/decr/incrby/decrby, 一定要是数字才能进行加减

  • getrange/setrange

    • getrange:获取指定区间范围内的值,类似between…and的关系,从零到负一表示全部

在这里插入图片描述

  • setrange设置指定区间范围内的值,格式是setrange key值 具体值

    1545701114403

  • setex(set with expire) 键秒值/setnx(set if not exist)

    • setex:设置带过期时间的key,动态设置。setex 键 秒值 真实值
      在这里插入图片描述
    • setnx:只有在 key 不存在时设置 key 的值。

    在这里插入图片描述

  • mset/mget/msetnx

    • mset:同时设置一个或多个 key-value 对。

      在这里插入图片描述

    • mget:获取所有(一个或多个)给定 key 的值。

      在这里插入图片描述

  • getset(先get再set)

    getset:将给定 key 的值设为 value ,并返回 key 的旧值(old value)。
    简单一句话,先get然后立即set

    在这里插入图片描述

三、List

3.1 重要概念

Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)。
它的底层实际是个链表,相当于Java中的LinkedList。

3.2 核心命令

  • lpush/rpush/lrange

  • lpop/rpop 左边弹出一个值/右边弹出一个值,类似栈操作

  • lindex,按照索引下标获得元素(从上到下)

  • llen

  • lrem key N v1 解释(删除N个值等于v1的元素)

    • 从left往right删除2个值等于v1的元素,返回的值为实际删除的数量

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

      在这里插入图片描述

  • ltrim key 开始index 结束index,截取指定范围的值后再赋值给key

    在这里插入图片描述

  • rpoplpush 源列表 目的列表

    移除列表的最后一个元素,并将该元素添加到另一个列表并返回

  • lset key index value

    设置指定索引处的值,index不能越界

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

    在list某个已有值的前后再添加具体值

    在这里插入图片描述

3.3 性能总结

它是一个字符串链表,left、right都可以插入添加;
如果键不存在,创建新的链表;
如果键已存在,新增内容;
如果值全移除,对应的键也就消失了。

它的底层实际是个双向链表,对两端的操作性能很高,通过索引下标的操作中间的节点性能会较差。

在这里插入图片描述

四、Hash

4.1 重要概念

Redis hash 是一个键值对集合。
Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。KV模式不变,但V是一个键值对。

类似Java里面的Map<String,Object>

4.2 核心命令

  • hset/hget/hmset/hmget/hgetall/hdel/hlen

  • hexists key 在key里面的某个值的key

  • hkeys/hvals key 返回某个key下面所有的keys/values

  • hincrby/hincrbyfloat

    在这里插入图片描述

  • hsetnx

五、Set

5.1 重要概念

Redis的Set是string类型的无序无重复集合。它是通过HashTable实现实现的。

是单值多value

5.2 核心命令

  • sadd/smembers/sismember
  • scard,获取集合里面的元素个数
  • srem key value 删除集合中元素
  • srandmember key 某个整数(随机出几个数)
  • spop key 随机出栈
  • smove key1 key2 在key1里某个值 作用是将key1里已存在的某个值赋给key2
  • 数学集合类
    • 差集:sdiff
    • 交集:sinter
    • 并集:sunion

六、ZSet

6.1 重要概念

Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。

不同的是每个元素都会关联一个double类型的分数。

redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。

相当于在set基础上,加一个score值。
之前set是k1 v1 v2 v3,
现在zset是k1 score1 v1 score2 v2

6.2 核心命令

  • zadd/zrange [withscores]

  • zrangebyscore key 开始score 结束score

  • withscores

  • ( 不包含

  • Limit 作用是返回限制 limit 开始下标步 多少步

在这里插入图片描述

  • zrem key 某score下对应的value值,作用是删除元素

  • zcard key

  • zcount key score区间

  • zrank key values值,作用是获得下标值

  • zscore key 对应值,获得分数

  • zrevrank key values值,作用是逆序获得下标值

  • zrevrange

  • zrevrangebyscore key 结束score 开始score 获得 逆序范围score内的值

七、其他重要知识

  • redis是单进程的
  • 默认16个数据库,类似数组下表从零开始,初始默认使用零号库
  • select命令切换数据库
  • dbsize查看当前数据库的key的数量
  • flushdb:清空当前库
  • flushall: 通杀全部库
  • 统一密码管理,16个库都是同样密码,要么都OK要么一个也连接不上
  • Redis索引都是从零开始
  • 默认端口是6379

八、参考

  1. 尚学堂Redis
Python爬虫实战:利用Requests-HTML与异步技术高效爬取B站视频信息及弹幕数据分析 B站的弹幕,远非简单的评论功能,它是一种独特的、实时互动的社交方式,是观众情感的集体宣泄和共鸣。无论是用于内容创作者优化视频结构,还是用于社会学、传播学的研究,亦或是简单的个人兴趣分析,都具备极高的价值。stop_words = {'的', '了', '是', '我', '你', '他', '她', '它', '在', '有', '不', '吗', '吧', '啊', '这', '那'}本文不仅是代码的堆砌,更注重原理的剖析、反爬策略的应对以及工程化的思考,旨在为读者提供一份紧跟技术前沿的实战指南。 阅读详情

相关推荐

力扣(Leetcode)第1题:两数之和(C语言版本)

题目: 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值 target 的那两个整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 示例 1: 输入:nums = [2,7,11,15], target = 9 输出:[0,1] 解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。 示例 2: 输入:nums = [3,2,4], target = 6

qq_39855356的博客 3319

redis几大数据类型简介

String: 是二进制安全,即可以包含任何数据类型(浮点,二进制数等) 一个键最大能存储512mb   Hash: 属于key-value的集合,   Set: 是string类型的无序集合,数据不重复,返回结果0,1   Zset(sorted set): 有序集合,string类型元素,数据唯一,每个元素关联一个double类型的分数,分数是可以重复 备注:key只能...

梁诗傑的博客 384

【IC】Redhawk-SC输入件配置

Redhawk sc

u011808788的博客 1777

离不开的微服务架构,脱不开的RPC细节(值得收藏)!!!

服务化有什么好处? 服务化的一个好处就是,不限定服务的提供方使用什么技术选型,能够实现大公司跨团队的技术解耦,如下图所示: 服务A:欧洲团队维护,技术背景是Java 服务B:美洲团队维护,用C++实现 服务C:中国团队维护,技术栈是go 服务的上游调用方,按照接口、协议即可完成对远端服务的调用。 但实际上,大部分互联网公司,研发团队规模有限,大都使用同一套技术体系来实现服务: 这样的话,如果没有...

ganjing222的博客 815

YOLOv8实战:如何用Focaler-IoU提升小目标检测精度(附代码)

本文详细介绍了如何通过Focaler-IoU提升YOLOv8在小目标检测中的精度,包括核心机制解析、代码实现及调优策略。Focaler-IoU通过动态聚焦机制有效解决传统IoU对小目标检测的不足,显著提升模型性能。附有完整的代码示例和实战指南,适合计算机视觉开发者参考。

weixin_29044157的博客 362

35、使用 Geo 创建 GitLab 的分布式只读副本

本文详细介绍了如何使用GitLab Geo功能创建分布式只读副本,涵盖数据库主从配置、SSH密钥查找方式更改、通过Web UI添加从节点、激活哈希存储及状态检查等关键步骤。同时提供了常见问题解答和配置流程图,帮助用户快速部署并维护Geo集群,实现跨地域的高效数据同步与高可用架构。

chair的专栏 81

Redis集群原理和总结

大数据第14天-Redis集群原理 节点主从(镜像全量)+哈希slot(分片) 无主模型 遵循 CAP原则 C一致性 A可用性 P分区容错性,三者不可兼得 数据放在大数据集群中的方式/集群承载数据的方式:分片 镜像全量 镜像全量 优:做数据的高可用(节点不单一),不担心某一个节点故障,数据在其他节点有相同备份 ​ 缺:占用内存资源,横向来说,没有对数据的扩展能力(4G–>12G)...

修行的博客 8806

Lammps模拟剪切作用下的位错滑移

Lammps模拟位错与障碍物作用。在lammps中实现周期性位错阵列模型模拟剪切作用下1/2刃位错与障碍物的交互作用

Rockyoung 3461

【Redis-cli操作数据类型】Redis八大数据类型详解:从redis-cli终端操作到场景落地

Redis八大数据类型详解:从基础操作到应用场景 Redis作为高性能键值数据库,支持8种核心数据类型,每种针对特定业务场景优化。本文通过redis-cli操作示例,详解String、Hash、List、Set、ZSet、Bitmap等类型的特性与典型应用: String:基础类型,支持原子增减,适合计数器(阅读量)、缓存(用户信息)和临时令牌场景。 Hash:结构化键值集合,可单独操作字段,用于用户属性、商品详情等结构化数据存储。 List:双向链表结构,实现队列/栈功能,适用于消息队列、最新列表等场景。

独立思考,明辨是非 849

手把手教你用ESP32-S3打造智能聊天机器人-立创实战派

本文将详细介绍如何利用立创ESP32-S3开发板,烧录小智AI程序,快速实现一个功能强大的聊天机器人。

举世誉之而不加劝,举世非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。 9920

基于FPGA的以太网设计(1)----大白话解释什么是以太网

基于FPGA的千兆以太网设计(1)----大白话解释什么是以太网

孤独的单刀 3874

Redis数据类型详解

全网最强,最详细的Redis数据类型详解

zhiyuanIT的专栏 805

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Redis数据类型之String的应用场景(案例详解)

【辰兮要努力】:hello你好我是辰兮,很高兴你能来阅读,昵称是希望自己能不断精进,向着优秀程序员前行! 博客来源于项目以及编程中遇到的问题总结,偶尔会有读书分享,我会陆续更新Java前端、后台、数据库、项目案例等相关知识点总结,感谢你的阅读和关注,希望我的博客能帮助到更多的人,分享获取新知,大家一起进步! 吾等采石之人,应怀大教堂之心,愿大家奔赴在各自的热爱里… 文章目录一、文章序言二、常用命令三、业务场景 一、文章序言 Redis概念:Redis (REmote DIctionary Serv.

末尾卡片和博主交流学习! 6600

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Redis 的八大数据类型

Redis 有以下 8 种数据类型: 第一种:String (字符串) 第二种:List(列表) 第三种、Set (集合) 第四种、Hash(哈希) 第五种:zset (有序集合) 第六种:geospatial 第七种:hyperloglog 第八种:bitmap 位图 官网可查看命令:http://www.redis.cn/commands.html Redis-key: 127.0.0.1:0>keys * -->查询库中所偶的key 返回结果: 1)...

lqsdxh的专栏 3539

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Redis详解

Redis1. NoSQL概述2. Redis概念介绍3. Redis命令 1. NoSQL概述 NoSQL = Not Only SQL。泛指非关系型数据库 NoSQL特点 方便扩展(数据之间没有关系,很好扩展) 大数据量高性能(NoSQL的缓存记录级,是一种细粒度的缓存,性能会比较高!) 数据类型是多样型的 2. Redis概念介绍 概述 Reids(Remote Dictionary Server),即远程字典服务!是一种开源的使用ANSI C语言编写,支持网络,可基于内

qq_42426993的博客 1513

大数据之Redis(上)

Redis(上)前言一、Redis为什么快二、BIO、NIO、AIO三、Redis数据类型3.1 key3.2 String3.3 List3.3.1 Redis List的特点3.3.2 相关操作3.4 Set3.5 Hash3.5.1 数据结构3.5.2 相关操作3.6 Zset总结 前言 Redis是基于内存的开源的key-value存储系统,本文主要介绍有关Redis的基本概念以及数据类型,在大数据之Redis(下)中介绍Redis事务、持久化、主从复制、哨兵机制以及集群的概念。 一、Redis

向日葵的博客 1709

Redis 学习 - 1.Redis基础:string hash list set sorted_set数据类型

1. Redis基础 Redis入门 002-redis入门:Nosql应用场景介绍 问题 2008年奥运会购票崩溃 12306崩溃 淘宝崩溃 京东崩溃 … 问题现象 海量用户 高并发 罪魁祸首--关系型数据库 性能瓶颈:磁盘IO性能低下 扩展瓶颈:数据关系复杂,扩展性差,不便于大规模集群 解决思路 降低磁盘IO次数,越低越好-----内存存储 去除数据间关系,越简单越好--...

liangwenhao1108的博客 1289

大数据-39 Redis 源码编译安装 启动 redis-server redis-cli

Redis 是高性能开源键值数据库,内存读写快,支持RDB/AOF持久化、主从、哨兵、事务,常用于缓存与队列。源码自编译可率先修补漏洞,并按需启用TLS、JSON模块或systemd,选用jemalloc。核心开关 BUILD_TLS、BUILD_WITH_MODULES、MALLOC。安装后调优 overcommit_memory、关闭透明大页;容器可用 redis:8.0.3-alpine。

谢谢你的喜欢 我们一起无限进步 1392

Redis性能优化的13条建议

Redis是基于单线程模型实现的,也就是Redis是使用一个线程来处理所有的客户端请求的,尽管Redis使用了非阻塞式IO,并且对各种命令都做了优化(大部分命令操作时间复杂度都是O(1)),但由于Redis是单线程执行的特点,因此它对性能的要求更加苛刻。 缩短键值对的存储长度 键值对的长度是和性能成反比的。 ...

一路向北的博客 2359

Redis常用命令详解:从基础到高阶应用指南

redis-cli。

xuanxuan199504的博客 1210

redis:Linux安装redis,redis常用的数据类型及相关命令

Redis是一种开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息代理。Redis提供数据结构,例如字符串,哈希,列表,集合,带范围查询的排序集合,位图,超日志,地理空间索引和流。Redis具有内置的复制[集群],Lua脚本,LRU驱逐,事务和不同级别的磁盘持久性[磁盘],并通过Redis Sentinel和Redis Cluster自动分区提供了高可用性【集群】。redis是免费的软件,它可以用作数据库,缓存,消息代理。而且里面可以存储多种数据类型,并且提高了高可用机制。

m0_59933868的博客 744

Redis

目录 Redis 1.Nosql 概述 1.1 什么是NoSQL 1.2 NoSQL 四大分类 2Redis入门 1.1概述 1.2 安装 1.2.1在Window下安装 1.2.2在Linux下安装 1.3 性能测试 1.4 基础的知识 3 五大数据类型 3.1 Redis-Key 3.2 String(字符串) 3.3 list(列表) 3.4 set(集合) 3.5 hash(哈希) 3.6 Zset/Sorted Set(有序集合) 4三种特殊数据类型.

weixin_44383366的博客 787

Redis7_01 基础篇 第一章 Redis的十大数据类型详解(上)

Redis7 含全部命令 十大数据类型 上篇

qq_33168558的博客 1209

Redis 详解

Redis的使用详解,包含了Redis的基本数据类型,Redis6新增的数据类型,主从复制,哨兵模式,集群,以及Redis的持久化、三大缓存问题、分布式锁。

TheAnnoyingDog的博客 652
上一篇: 大数据求索(12): 从传统ACID到分布式系统中的CAP和BASE
下一篇: 大数据求索(14): Redis的持久化详解
腾云丶
博客等级 码龄12年 124粉丝 97原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值