五、Redis字符串

Redis实战(五)-字符串 字符串类型是Redis最基础的数据结构。首先键都是字符串类型,而且其他几种数据结构都是在字符串类型基础上构建的,所以字符串类型能为其他四种数据结构的学习奠定基础。如图2-7所示,字符串类型的值实际可以是字符串(简单的字符串、复杂的字符串(例如JSON、XML))、数字(整数、浮点数),甚至是二进制(图片、音频、视频),但是值最大不能超过512MB。 一、命令 字符串类型的命令比较多,希望读者尽可能都去了解和掌握。 1、设置值 set key valu... 阅读详情

1、概述

字符串结构,其实是Redis中最基础的K-V结构。其键和值都是字符串。类似Java的

Map<String,String>

2、常用命令

以下命令都是用来操作字符串 的键值数据:

序号命令描述描述
1SET key value设置指定 key 的值
2GET key获取指定 key 的值
3GETRANGE key start end返回 key 中字符串值的子字符
4INCR key将 key 中储存的数字值增一
5INCRBY key increment将 key 所储存的值加上给定的增量值(increment)
6DECR key将 key 中储存的数字值减一
7DECRBY key decrementkey 所储存的值减去给定的减量值(decrement)
8APPEND key value如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾
9STRLEN key返回 key 所储存的字符串值的长度
10MGET key1 [key2..]获取所有(一个或多个)给定 key 的值
11MSET key value [key value …]同时设置一个或多个 key-value 对

3、GET和SET(添加和查)

  • 基本语法:
    这里写图片描述
  • 示例:
    这里写图片描述

4、INCR和INCRBY(数字自增)

INCR 命令将 key 中储存的数字值增一。

  • 语法:
    这里写图片描述

  • 示例:

    1. 当key没有值时:(先初始化为0,再+1)
      这里写图片描述
    2. 当key有值,并且也是数值:(直接值+1)
      这里写图片描述
    3. 当key有值,但是不是数值形式:(会报错)
      这里写图片描述
  • 注意:
    1)如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。
    2)如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。
    3)数字值在Redis中以字符串保存

INCRBY与INCR命令基本类似, INCRBY命令将 key 中储存的数字加上指定的增量值。

  • 语法:
    这里写图片描述
  • 示例:
    这里写图片描述

5、DECR和DECRBY(数值自减)

看名字就知道,这两个与上面的INCR和INCRBY相反的操作,减少key的值

Decr 命令将 key 中储存的数字值减一。

  • 语法:
    这里写图片描述
  • 示例:
    1. 对不存在的key操作:
      这里写图片描述
    2. 对已存在的key操作:
      这里写图片描述
  • 注意:
    1)如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECR 操作。
    2)如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。
    3)数字值在Redis中以字符串保存

Decrby 命令将 key 所储存的值减去指定的减量值。

  • 语法:
    这里写图片描述
  • 示例:
    这里写图片描述

6、APPEND(追加数据)

这里写图片描述
Append 命令用于为指定的 key 追加值。
1)如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。
2)如果 key 不存在, APPEND 就简单地将给定 key 设为 value ,就像执行 SET key value 一样。

  • 语法:
    APPEND key value
  • 返回值:
    追加指定值之后, key 中字符串的长度。
  • 示例:
    1. 操作一个不存在的key
      这里写图片描述
    2. 操作一个已经有值的key
      这里写图片描述

7、STRLEN(字符串长度)

这里写图片描述
Strlen 命令用于获取指定 key 所储存的字符串值的长度。

  • 语法:
    STRLEN key
  • 返回值:
    key的值字符串长度,如果key不存在,返回0
  • 示例:
    这里写图片描述

8、MSET和MGET(批量添加和获取)

这里写图片描述
Mset 命令用于同时设置一个或多个 key-value 对。

  • 语法:
    MSET key1 value1 key2 value2 … keyN valueN

这里写图片描述
Mget 命令返回所有(一个或多个)给定 key 的值。 如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 nil 。

  • 语法:
    MGET KEY1 KEY2 .. KEYN
  • 示例:
    这里写图片描述
告别Win11睡眠假死:深入解析Modern Standby S0与S3冲突及注册表修复方案 本文深入解析了Windows 11中Modern Standby(S0)与传统睡眠(S3)模式的冲突,该冲突是导致电脑睡眠后出现假死、断网等问题的根源。文章提供了通过修改注册表键值(PlatformAoAcOverride)强制启用稳定S3睡眠的终极修复方案,并附有详细诊断步骤与避坑指南,帮助用户彻底解决睡眠故障。 阅读详情

相关推荐

Qt Location实战:5分钟搞定地图插件切换与卫星图源加载(附完整代码)

本文是Qt Location开发系列教程的实战指南,详细讲解如何在Qt应用中快速实现地图插件(如Esri、OSM、MapboxGL)的动态切换与卫星图源的加载。通过清晰的代码示例,帮助开发者理解插件机制,解决常见配置问题,并在5分钟内构建出具备交互式地图切换功能的应用程序。

kafka6courier的博客 523

Redis大Key分拆方案

业务场景中经常会有各种大key的情况, 比如: 1. 单个简单的key存储的value很大 2. hash、set、zset、list中存储过多的元素(以万为单位) (文章中所提及的hash,set等数据结构均指redis中的数据结构) 由于redis是单线程运行的,如果一次操作的value很大会对整个redis的响应时间造成负面影响,所以,业务上能拆则拆,下面举几个典型的分拆方案。 1...

东境物语 7175

二次规划问题(qp)和序列二次规划问题(sqp)的简单理解

当二次规划的约束为非线性约束时,通常会采用sqp进行求解,用连续求解qp的方法来得到非线性约束条件下的最优解,上述的qpoases和osqp均无法直接求解非线性约束问题,所以如果使用这两个库的话,注意,sqp是结果,而不是原因,只有在非线性约束的情况下才会考虑sqp求解,如果问题本身就是线性约束,则直接用qp解就行。对于工程师而言,我们在编写代码的时候,并不关心二次规划问题的求解细节,所以一般是把二次规划问题建立好后,直接调用三方库进行求解。因为约束为非线性约束,所以先将约束进行线性化,约束原方程为。

zmhzmhzm的博客 1万+

redis:连接命令

windows: 在redis-cli.exe 同级目录中: 本地输入./redis-cli 远程:./redis-cli -h 172.1.2.123 -p 3679 -a "123456"

【持续做一件事,必定有所成就!抛弃世俗之浮躁,留我钻研之刻苦!】 1232

IEC61850客户端连接实战:CMS vs MMS协议抓包对比与性能初探(基于YX-PIS协议栈)

本文深入探讨了IEC61850客户端连接中CMS与MMS协议的抓包对比与性能优化。通过Wireshark抓包分析、协议栈配置实战和性能基准测试,揭示了两种协议在连接建立、数据交互和性能调优方面的关键差异,为智能电网自动化系统的协议选择提供了实用指南。

weixin_29209805的博客 214

auto.js梦幻西游游戏脚本,梦幻西游脚本开发思路

本篇文章给大家谈谈梦幻西游脚本用什么语言写,以及auto.js梦幻西游游戏脚本,希望对各位有所帮助,不要忘了收藏本站喔。

npy199331的博客 1935

Redis:字符串INCR、INCRBY、INCRBYFLOAT、DECR、DECRBY命令介绍

Redis学习(四) - 字符串命令介绍 INCR INCR key 可用版本: >= 1.0.0 时间复杂度: O(1) 为键key对应的数字字符串(整数)加上一。 演示 如果键key不存在, 那么它的值会先被初始化为 0 , 然后再执行INCR命令。 INCR命令会返回键key对应的数字字符串转换成数字后,再执行加一操作之后的值。 如果键key对应的字符串不能被解释成数字, 那么INCR命令将返回一个错误。 INCR命令是一个针对字符串的操作。 因为Redis并没有专用的整数类型, 所以键

kaven 1万+

全志V3S嵌入式驱动开发(解决kernel 5.2.y wifi驱动问题)

​【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 wifi模块,之前测试的时候,开发板上用的是esp8089,当时内核时4.14.y,测试也是通过的。链接地址在这里, https://blog.youkuaiyun.com/feixiaoxing/article/details/131178420?spm=1001.2014.3001.5501 那个时候测试的时候,我们就说过,wifi驱动可能是除了镜像制作之外,最复杂的一个

嵌入式-老费,一个分享专业嵌入式知识的blog 1157

Redis中的数据类型及常用命令

一、String类型 赋值:setkeyvalue 取值:getkey 赋值并取值:getsetkeyvalue 获取/设置多个赋值:msetvaluekeyvalue [keyvalue ...] mgetkey [key ...] 删除:delkey 递增:incrkey(当存储的字符...

qq_45278588的博客 1414

Pytorch入门教程

Pytorch学习总结:1.张量Tensor 张量是一种特殊的数据结构,与数组和矩阵非常相似。在PyTorch中,我们使用张量对模型的输入和输出以及模型的参数进行编码。 张量类似于NumPy的ndarray,除了张量可以在 GPU 或其他硬件加速器上运行。事实上,张量和NumPy数组通常可以共享相同的底层内存,从而无需复制数据。...

专注大数据与人工智能技术分享,欢迎私信加群互相学习! 4万+

芒果YOLO11改进81:主干Backbone篇之DCNv3结构:即插即用|使用pytorch代码实现,并针对YOLO11专门优化模块

芒果YOLO11改进81:主干Backbone篇之DCNv3结构:即插即用|使用pytorch代码实现,并针对YOLO11专门优化模块

包括YOLOv5、YOLOv7、YOLOv8等模型改进 735

Redis---字符串的操作

文章目录set的时候设置生命周期一次性设置/获取多个key对字符串的修改对字符串的追加对字符串的截取getset:返回旧值,设置新值对于数字增加和减少将大写字母转换成小写 set的时候设置生命周期 set key value [ex 秒] /[px 毫秒] [nx]/[xx]:后面接秒是可以设置key的生命周期的 设置name的生命周期10s有效;set name sinmu ex 10 当ex和px同时出现的时候,以后面的为准 如set name sinmu ex 10 px 1000,实际的

夕目 739

aic8800出现insmod: can‘t insert ‘/lib/modules/4.9.191/aic8800_fdrv.ko‘: No such device

2、如果单独编译wifi驱动,则把CONFIG_PLATFORM_UBUNTU?= y都改为CONFIG_PLATFORM_ALLWINNER?1、如果把wifi驱动嵌入到内核编译,则在makefile中加入这一句。后面再修改对应平台的交叉编译链和内核吗路径等。

mantouyouyou的博客 508

redis字符串系列之五

目录 mset msetnx mget get与mget mset 1.语法mset key value [key value...] 2.解析 同时为多个键设置值 如果某个给定的键存在,那么mset将使用新值去覆盖旧值,如果这不是你希望的的效果, 请考虑使用msetnx命令,这个命令只会在所有给定键都不存在的情况下设置。 mest是一个原子性操作,所有给定的键都会在同一时间内被设置...

Sunny 195

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

(Redis基础教程之五)如何在Redis中操作字符串

如何在ubuntu18.04上安装和保护redis 如何连接到Redis数据库 如何管理Redis数据库和Keys 如何在Redis中管理副本和客户端 如何在Redis中管理字符串 如何在Redis中管理list 如何在Redis中管理Hashes 如何在Redis中管理Sets 如何在Redis中管理Sorted Sets 如何在Redis中运行事务 如何使Redis中的Key失效 如何解决R...

novelly的专栏 1042

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Redis(五)-Redis的String字符串的数据结构之简单动态字符串

本文主要介绍了Redis数据库用来存储字符串对象的数据结构---简单动态字符串SDS,SDS相对于C语言传统的字符串优势明显,主要表现在杜绝缓存去内存溢出,减少字符串操作的内存重分配,二进制安全。

码农飞哥 2806

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Redis 入门指南五:Redis 字符串(String)

Redis 字符串(String) Redis 字符串数据类型的相关命令用于管理 redis 字符串值,基本语法如下: 语法 redis 127.0.0.1:6379> COMMAND KEY_NAME 实例 在以上实例中我们使用了 SET 和 GET 命令,键为 name。 Redis 字符串命令 下表列出了常用的 redis 字符串命令: 命令 描述 SET key value 设置指定 key 的值 GET key 获取指定 key 的值。 GETRANGE key

神薯片 263

五、Redis五种类型 - 字符串类型

1.介绍: 字符串类型是Redis中最基本的数据类型,可以存储任何形式的字符串数据,最大容量是512MB。 key 和 value 都是区分大小写的。 2.命令介绍 (1).赋值: set key value (2).取值: get key (3).递增数字: incr key 默认的初始值是 1 3.实践 (1).文章访问量统计 1 名为"post:文章ID...

weixin_30552635的博客 129

Redis源码解读(五)——基本类型一字符串SDS

基本类型SDS的设计与实现

yh88623131的博客 938

深入剖析Redis系列(五) - Redis数据结构之字符串

前言 字符串类型 是 Redis 最基础的数据结构。字符串类型 的值实际可以是 字符串(简单 和 复杂 的字符串,例如 JSON、XML)、数字(整数、浮点数),甚至是 二进制(图片、音频、视频),但是值最大不能超过 512MB。 image 正文 1. 相关命令 1.1. 常见命令 1.1.1. 设置值 set key value [ex ...

陌上轩客 301

【Redis基础知识 五】Redis底层数据编码之动态字符串

什么是动态字符串,我们嘴边常挂的SDS就是动态字符串,在Redis里是一种数据编码方式,会用在Redis的String类型的数据对象里。 SDS的数据结构 SDS的数据结构如下,包含三部分属性,len、free以及buf数组,用来描述一个SDS的结构体: struct sdshdr { unsigned int len; //记录buf数组中已使用字节数量,也即SDS所保存字符串长度 unsigned int free; //记录buf数组中未使用字节数量 char buf[];

MaoLin Tian's Blog 515

Redis基础教程(五):string字符串

Redis 的字符串(String)类型是最基本的数据类型,它可以存储任何二进制安全的数据,从简单的文本到图像或音频文件的二进制表示。字符串类型不仅用于存储单个值,还支持一些高级操作,如增量计数、批量操作等。本文将深入探讨 Redis 字符串的使用方法,包括其基本操作、高级功能以及在实际场景中的应用案例。

菜鸟小码的博客 1515

redis简介 (五)动态字符串、链表

1. 动态字符串 redis中使用动态字符串(sds)的对象类型,作为默认的字符串类型。 1.1 基本用法 127.0.0.1:6379> set mykey "hello world" OK 127.0.0.1:6379> rpush animal "fish" "dog" "cat" (integer) 3 127.0.0.1:6379> get mykey "hello world" 127.0.0.1:6379> lrange animal 0 10 1) "fis

不才的专栏 213

Redis学习笔记(五)--Redis底层数据结构之简单动态字符串SDS

本文介绍了Redis底层的数据结构简单动态字符串SDS的原理,为作者在学习Rdis时的笔记,特此比记录,以便后续学习中能够查漏补缺。

Scr1Pt的博客 1412

Redis源代码分析之五:简单动态字符串——Sds

一个Redis字符串的结构体定义是: struct sdshdr { int len; int free; char buf[]; }; 其中buf字符数组中储存实际的字符串。len变量保存字符串的长度。free变量指出还有多少字节可用。 sds被定义为一种新的数据类型,实际就是字符指针: typedef char *sds; 例如,sdsnewlen

Aegeaner的专栏 2431

Redis6 五:Redis常用五大数据类型—— 字符串String 和 列表List

String 是 Redis 最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。String类型是二进制安全的。意味着Redis的string可以包含任何数据。比如jdg图片或者序列化的对象。String类型是Redis最基本的数据类型,一个Redis中字符串value最多可以是512M原子性,有一个失败则都失败String的数据结构为简单动态字符串(Simple Dynamic String,缩写SDS)。是可以修改的字符串,内部结构实现上类似于Java的Arra

GQ的博客 298
上一篇: 四、Redis通用操作命令
下一篇: 优快云-markdown编辑器使用指南
爱写Bug的麦洛
博客等级 码龄11年 1万+粉丝 201原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值