redis数据类型 - String

04_Redis数据类型-String字符串 本文围绕 Redis 数据类型展开,重点介绍了 String 字符串类型。Redis 提供了 9 种主要数据类型,其中 String 是最基本的,其键值对中的值可存储多种形式,键最大能存 512MB,且具有二进制安全特性。 阅读详情
String类型
最简单的类型,一个key对应一个value,string类型是二进制安全的。
redis是string可以包含任何数据,比如jpg图片或序列化的对象


相关操作

set 设置一个 key-value键值对:

set name jack

setnx nx是not exist的意思,不存在才添加,成功返回1,失败返回0,说明key已存在:
setnx name jack #返回0,因为已存在name
set newname jack #返回1,成功

setex 指定多少秒过期:
set email 100010@qq.com
#等待10秒
get email #10秒后再get,返回 (nil)

setrange 指定范围替换:
set email 123456@gmail.com
setrange email 7 qq.com #从下标为7的位置开始替换
set email #返回 123456@qq.com

mset 一次设置多个key-value键值对:
mset name1 jack name2 lily
get name1 #返回 jack
get name2 #返回 lily

getset  从新设置key的值,并返回key的旧值:
set name jack
getset name lily #返回旧值 jack

getrange 获取 start 到 end之间的:
set email 123456@gmail.com
getrange email 7 11 #结果是 gmail,后面2个值是索引,下标从0开始

mget 一次获取多个key的值:
mget name email

incr 是increment的缩写,对key的值做加加操作,并返回新的值:
set age 18
incr age #返回19,相当于 return ++age	

incrby 同incr类似,加指定值。key不存在时会当做0处理:
set age 18
incrby age 2  #返回20,相当于return age+=2; 

decr
对 key 的值做减减操作set age 18
decr age
相当于 return --age;

返回 17

decrby
同 decr 类似,减指定值
set age 18
decrby age 2
返回 16

decrby 完全是为了可读性,我们完全可以通过 incrby 一个负值来实现同样效果,反之一样。 




以太网物理层协议整理(2)-万兆以太网 在万兆以太网标准化过程中,IEEE和10GEA(万兆以太网联盟)是两个最重要的组织。 万兆以太网标准和规范都比较繁多,在标准方面,首先有2002年的IEEE 802.3ae,后来也不断有新的万兆以太网规范推出,如2006年的IEEE 802.3an标准(10GBase-T)就推出了基于双绞铜线的万兆以太网规范,同样的IEEE 802.3aq标准推出了基于光纤的10GBase-LRM;2007年的 阅读详情

相关推荐

TL3562/3568内核驱动移植实战:解决无锡沐创N500L-AM4网口异常问题

本文详细介绍了在TL3562/3568平台上移植无锡沐创N500L-AM4网卡驱动的实战经验,重点解决了第四个网口通讯异常问题。通过升级驱动版本至rnpgbe-0.2.3,生成关键头文件并正确配置内核,最终实现四个网口稳定工作。文章还提供了性能优化建议和避坑指南,为类似硬件驱动移植项目提供参考。

weixin_28273593的博客 180

Redis的String数据类型底层实现

原因:对象头占16字节,空的sdshdr占用4字节,也就是一个数据至少占用16+4=20字节。其次操作系统使用jmalloc和tmalloc进行内存的分配,而内存分配的单位都是2的N次方,所以是 2,4,8,16,32,64 等字节,但是redis如果采取32的话,那么32-25=7,也太他妈少了,所以Redis采取的是64字节,所以:64-20=44。

2201_75692232的博客 1270

Visual Studio调试时遇到ntdll.dll的PDB文件缺失?别慌,这3个方法帮你搞定(附详细步骤)

本文详细解析了Visual Studio调试时ntdll.dll的PDB文件缺失问题,提供了3种实用解决方案:调整调试设置、配置符号服务器与缓存目录、手动下载管理符号文件。通过分步指导和高级技巧,帮助开发者快速恢复完整的调试功能,特别适用于Windows平台下的C++项目开发。

weixin_42537919的博客 513

Redis 数据类型 String 字符串

⼀个分布式 Web 服务将⽤⼾的 Session 信息(例如⽤⼾登录信息)保存在各⾃的服务器中,但这样会造成⼀个问题:出于负载均衡的考虑,分布式服务会将⽤⼾的访问请求均衡到不同的服务器上,并且通常⽆法保证⽤⼾每次请求都会被均衡到同⼀台服务器上,这样当⽤⼾刷新⼀次访问是可能会发现需要重新登录,这个问题是⽤⼾⽆法容忍的。由于 Redis 内部存储字符串完全是按照⼆进制流的形式保存的,所以 Redis 是不处理字符集编码问题的,客⼾端传⼊的命令中使⽤的是什么字符集编码,就存储什么字符集编码。

2301_79881188的博客 1194

格拉姆角场(GAF)实战:用Python实现时间序列图像化处理

本文深入解析了格拉姆角场(GAF)技术,这是一种将一维时间序列转化为二维图像特征的方法,以便利用卷积神经网络(CNN)等图像模型进行深度分析。文章通过Python实战代码,详细演示了GASF和GADF两种核心转换的实现过程,并探讨了其在时序数据分类任务中的应用,为故障预警、金融模式识别等场景提供了强大的图像驱动分析视角。

weixin_29079671的博客 273

基于74LS175的四人抢答电路设计(含详细设计分析及试错过程)

根据设计要求不难发现,只要有一人抢答,就会输出信号使指示灯常亮,此时其他人输入无效,适宜选择触发器,有人抢答时触发器输出由0变1,输出信号控制指示灯常亮,同时使CLR引脚输入0,触发器不工作,即其他选手不能再抢答。尝试加入一人抢答后其他人不可抢答功能,如下图,175四个~Q输出端接入同一个与非门,于是当有选手抢答时该与非门输出由0变1,将该信号输入U5A,U5A输出由1变0,接入~CLR即可使电路不再工作。但仿真时发现,该复位键仅可使抢答电路部分复位,计数部分只是暂停,并未复位。否则元器件将无法正常工作。

2202_75463653的博客 8189

Redis数据类型之String

如果是以--raw启动客户端,当截取汉字时,由于汉字的存储是字节,因此可能截取不完整的汉字字节,在通过字符集编码utf-8转化,可能会乱码。注意:redis不会对字符集编码做任何处理(也就是redis只认字节不认字符),由于这里使用FinalShell终端连接redis服务器,,而终端默认的字符集编码是utf-8(此编码下一个汉字字符占3个字节),因此使用终端存入汉字到redis中,“张三”就占6个字节。时间复杂度O(N),N表示新value的长度,通常N比较短,因此实际体验是O(1)。

sniper_fandc的博客 955

Keil5调试遇坑记:手把手解决J-Link驱动与固件版本冲突(附老版本驱动包)

本文详细解析了Keil5与J-Link调试器版本冲突问题,特别是当出现'The connected J-Link is defective'警告时的解决方案。通过对比升级固件与降级驱动的优缺点,提供了详细的J-Link驱动降级操作指南,包括获取老版本驱动、替换步骤及常见问题排查,帮助开发者高效解决这一常见调试障碍。

metaverse5vr的博客 107

【Redis入门到精通二】Redis核心数据类型(String,Hash)详解

Redis操作字符串类型常见的有以下命令set,get,mget,mset,setnx,setxx,incr,incrby,decr,decrby,incrbyfloat,append,getrange,setrange,strlen。下面将按顺序依次介绍用法。hash类型的常见命令有hset,hget,hexists,hdel,hkeys,hvals,hgetall,hmget,hlen,hsetnx,hincrby,hincrbyfloat,hstrlen。数字,可以是整型或者浮点型;

2203_75565612的博客 1743

利用OrthoFinder做泛基因家族聚类分析

这条命令会将 Arabidopsis_thaliana.TAIR10.59_longest_trans.pep.fa 文件中的所有序列ID,去掉ID中的空格后面的部分,只保留 > 后第一个空格之前的基因ID,并将结果保存在 An1.fasta 文件中。muscle 是一种常用的多序列比对工具,用于基因组或蛋白质序列的比对。基因家族(Gene family),是来源于同一个祖先,由一个基因通过基因重复而产生两个或更多的拷贝而构成的一组基因,它们在结构和功能上具有明显的相似性,编码相似的蛋白质产物。

qq_64400864的博客 2749

7.26华为OD机试真题 新系统 - 炸弹人的雷区数量 (Java/Py/C/C++/Js/Go)

7.26华为OD机试真题 新系统 - 炸弹人的雷区数量 (Java/Py/C/C++/Js/Go)

算法大师! 793

Redis:string数据类型

文章介绍了Redis字符串类型及其命令(SET、GET、MGET、MSET等),内部编码(int、embstr、raw),以及使用场景(缓存、计数、共享会话、手机验证码)。

You build it, you run it 1289

RDKit | 基于Murcko骨架聚类化合物库

化合物多样性评估 一种方法是使用合适的指纹技术将化合物矢量化并评估他们之间的距离。这种方法经常被使用,但是对于人类很难直观地理解化合物之间的距离。 基于Murcko骨架,分子大致聚集在化合物骨架中,并且每个簇中的顶部化合物都作为候选化合物。此方法非常符合人类的直觉,因此可以预期人将通过查看候选化合物列表来自动缩小化合物的范围。 Murcko骨架 Mur...

DrugOne 3766

Redis数据类型——string

命令执行效果时间复杂度设置key的值是valueO(1)get key获取key的值O(1)删除指定的keyO(k)批量设置指定的key和valueO(k)批量获取key的值O(k)incr key指定的key值+1O(1)decr key指定的key值-1O(1)incrby key n(可以为负数)指定的key值+nO(1)decrby key n(可以为负数)指定的key值-nO(1)incrbyfloat key n(可以为负数)

2301_76227083的博客 939

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

用过redis哪些数据类型?Redis String 类型的底层实现是什么?

跳表在创建节点时候,会生成范围为[0-1]的一个随机数,如果这个随机数小于 0.25(相当于概率 25%),那么层数就增加 1 层,然后继续生成下一个随机数,直到随机数的结果大于 0.25 结束,最终确定该节点的层数。Redis中的 Geo(Geoloaton的简写形式,代表地理坐标) 数据结构主要用于地理位置信息的存储,通过这个结构,可以方便地进行地理位置的存储、检索、以及计算地理距离等课作,GeO 数据结内存层使用了 Sorted set, 并结合了Geohash 编码算法来对地理位置进行处理。

dsgdauigfs的博客 775

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【Redis】redis5种数据类型(string)

redis五种数据类型和内部编码的介绍;redis单线程模型的介绍;string字符串类型相关命令:set设置key vlaue,get通过key获取value...以及当value值为整数时,进行加减操作,APPEND追加字符串,GETRANGE获取子串,SETRANGE覆盖子串的一部分,STRLEN获取字符串长度;string内部编码的实现。

lzb_kkk的博客 1169

Redis数据类型及编码格式——介绍及String篇

Redis核心对象 reids中定义了一个数据结构用来统一表示各种数据类型,它叫做redisObject typedef struct redisObject { unsigned type:4; //记录数据值的类型:string、list、hash、set、zset unsigned encoding:4; //记录数据值的编码格式 unsigned lru:LRU_BITS; //记录操作时间,当redis内存超限时,该值可辅助lru算法清理数据 i

qq_33983753的博客 4091

Redis 数据类型之String型

Redis String

weixin_43743711的博客 400

redis学习——String数据类型

Redis五种数据结构如下: 对redis来说,所有的key(键)都是字符串。 String数据类型 一、概述 字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等。在Redis中字符串类型的Value最多可以容纳的数据长度是512M。 二、相关命令 1、赋值命令 命令原型:SET key value 时间复杂度:O(1) 命令描述:设定该Key持有指定的字符串Value,如果该Key已经存在,则

weixin_44096353的博客 442

Redis基本数据类型之String

Redis中的Key Redis中的key是二进制安全的,可以使用任意二进制序列作为key,即如字符串或者图片的内容都可以作为key,注意:空字符串在Redis中也被认为是有效的key。 key不宜过长,一是从存储角度来讲比较耗费内存,而且在查找key时对key进行比较将会增加开销。 推荐使用中划线或冒号将描述字段分隔,整体作为key,如:“student:id”、“student:age”。 ...

blade1122的博客 339

初识Redis · 数据类型和初识string

前文我们已经介绍了基本的命令,涉及到的命令有set,get, expire, ttl, type等命令,并且从中引入了过期策略的实现,涉及到了惰性清除和定期清楚,并且我们还介绍了为什么不引入定时器,因为大概率会有另一个线程的参与,而对于Redis来说,它是一个单线程模型,这就违背了。

更新各种计算机技能~ 803

Redis学习文档(Redis基本数据类型【String、List】)

这 5 种数据类型是直接提供给用户使用的,是数据的保存形式,其底层实现主要依赖这 8 种数据结构:简单动态字符串(SDS)、LinkedList(双向链表)、Dict(哈希表/字典)、SkipList(跳跃表)、Intset(整数集合)、ZipList(压缩列表)、QuickList(快速列表)。String 是一种二进制安全的数据类型,可以用来存储任何类型的数据比如字符串、整数、浮点数、图片(图片的 base64 编码或者解码或者图片的路径)、序列化后的对象。Redis 的 List 的实现为一个。

cuishujian_2003的博客 685

redis数据类型之String

一、简介 Redis中最基本的数据类型,它是二进制安全的,可以包含任意数据类型,如图片等。Redis中String类型的数据上限的512M。下面是常用的String操作命令: String数据类型常用命令说明 命令 说明 set 设置字符串的值 get 获取字符串的值,如果 ke...

weixiaohuai的博客 712

Redis系列——Redis基本数据类型之string

Redis基本数据类型 redis是以k-v结构来存储数据的,key的类型只有string类型,我们平常所说的数据类型一般是指value的类型,下面我们将介绍5种基本数据类型,至于HyperLoglog、Pub/Sub等数据类型,后面会详细介绍。 一、string类型 redis存储的value类型为string类型。废话不多说,先看string类型的基本命令。string类型常用命令一般有 set、get、strlen等。下面将详细介绍每种命令的用法。 在客户端输入 help @string 可以查看s

weixin_45225280的博客 429

Redis 数据类型(上)String,List,Set

Redis 数据类型底层实现解析: String 类型有 RAW、EMBSTR 和 INT 三种编码格式,分别对应长字符串、短字符串和整数存储;List 采用 quicklist 结构,结合了链表和压缩列表的优点;Set 类型则根据元素类型和数量,使用 intset(小整数集合)或 dict(哈希表)实现。三种数据结构都针对不同使用场景进行了优化,String 注重灵活存储,List 侧重高效操作,Set 则强调内存效率与查询性能的平衡。

人工智能专业学生 1162
上一篇: redis的安装
下一篇: redis数据类型 - Hash类型
学习笔记666
博客等级 码龄12年 1047粉丝 1369原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值