Redis系列二、redis的五种数据结构和相关指令之String

redis是一种基于键值对(key-value)的内存数据库,redis数据结构可以分为string、hash、list、set、sorted set。本节中将介绍Redis支持的主要数据结构中的string,以及相关的常用Redis命令。

redis的五种数据结构和相关指令之String

字符串string

redis的字符串不限存储格式,实际上可以是字符串(包括XML JSON),还有数字(整形 浮点数),二进制(图片 音频 视频),最大不能超过512MB。

a、基本命令

SET:为一个key设置value,可以配合EX/PX参数指定key的有效期,通过NX/XX参数针对key是否存在的情况进行区别操作,时间复杂度O(1)
GET:获取某个key对应的value,时间复杂度O(1)
GETSET:为一个key设置value,并返回该key的原value,时间复杂度O(1)
MSET:为多个key设置value,时间复杂度O(N)
MSETNX:同MSET,如果指定的key中有任意一个已存在,则不进行任何操作,时间复杂度O(N)
MGET:获取多个key对应的value,时间复杂度O(N)
eg:

set age 23 ex 10 //10秒后过期  px 10000 毫秒过期
setnx name test  //不存在键name时,返回1设置成功;存在的话失败0
set age 25 xx    //存在键age时,返回1成功
get age //获值命令:存在则返回value, 不存在返回nil
mset country china city beijing     //批量设值:
mget country city address //批量获取:返回china  beigjin, address为nil

补充说明
带“m”的批量指令能减少指令的网络请求时间,提高效率。例如若没有mget命令,则要执行n次get命令


使用mget=1次网络请求+redis内部n次查询

 

 

b、数值操作

当string的值为数值的时候就可以进行一些针对数值的增减操作:

incr age //必须为整数自加1,非整数返回错误,无age键从0自增返回1
decr age //整数age减1
incrby age 2 //整数age+2
decrby age 2//整数age -2
incrbyfloat score 1.1 //浮点型score+1.1


c、普通字符串操作

追加指令:

set name hello; append name world //追加后成helloworld

字符串长度:

set hello “世界”;strlen hello//结果6,每个中文占3个字节

截取字符串:

set name helloworld ; getrange name 2 4//返回 llo


d、key的使用技巧

不要使用过长的Key。例如使用一个1024字节的key就不是一个好主意,不仅会消耗更多的内存,还会导致查找的效率降低
Key短到缺失了可读性也是不好的,例如”u1000flw”比起”user:1000:followers”来说,节省了寥寥的存储空间,却引发了可读性和可维护性上的麻烦
最好使用统一的规范来设计Key,比如”object-type: id:attr”,以这一规范设计出的Key可能是”user:1000″或”comment: 1234:reply-to”
Redis允许的最大Key长度是512MB(对Value的长度限制也是512MB)
————————————————
版权声明:本文为CSDN博主「lingengy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/w1lgy/article/details/84376756

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

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

相关文章

体积最小桌面linux,Tiny Core Linux - 体积最小的精简 Linux 操作系统发行版之一 (仅10多MB) - 蓝月网络...

Tiny Core Linux (TCL) 是一款极体积极小且高度可扩展的微型 Linux 发行版,它将一个 Linux 操作系统精简到仅有 10 多 MB 左右的大小,似乎小巧得有点让人叹为观止!要知道无论是常见的 Ubuntu、CentOS、Debian 的体积动辄就是几百MB甚至要上GB…

美国公布长达35页的《2016-2045年新兴科技趋势报告》

来源:云谷资本概要:前段时间美国公布的一份长达35页的《2016-2045年新兴科技趋势报告》。该报告是在美国过去五年内由政府机构、咨询机构、智囊团、科研机构等发表的32份科技趋势相关研究调查报告的基础上提炼形成的。前段时间美国公布的一份长达35页的《…

Redis系列三、redis的五种数据结构和相关指令之Hash

本节中将介绍Redis支持的主要数据结构,以及相关的常用Redis命令。redis是一种基于键值对(key-value)的内存数据库,redis数据结构可以分为string、hash、list、set、sorted set。 redis的五种数据结构和相关指令之Hash 哈希hash …

深度学习在推荐系统上的应用

作者:陈仲铭,知乎 ID:ZOMI深度学习最近大红大紫,深度学习的爆发使得人工智能进一步发展,阿里、腾讯、百度先后建立了自己的AI Labs,就连传统的厂商OPPO、VIVO都在今年开始筹备建立自己的人工智能研究所。确…

Redis系列四、redis的五种数据结构和相关指令之List

本节中将介绍Redis支持的主要数据结构,以及相关的常用Redis命令。redis是一种基于键值对(key-value)的内存数据库,redis数据结构可以分为string、hash、list、set、sorted set。 redis的五种数据结构和相关指令之List 列表list …

那些顶级的AI机器人“大脑”

来源:机器人创新生态概要:如果说AI是赋予各个下游产业的“大脑”,那分布在世界各地的研究院就是AI的“大脑”。如果说AI是赋予各个下游产业的“大脑”,那分布在世界各地的研究院就是AI的“大脑”。从地域来看,美国依然…

Redis系列五、redis的五种数据结构和相关指令之Set

本节中将介绍Redis支持的主要数据结构中的set,以及相关的常用Redis命令。 redis的五种数据结构和相关指令之set 集合set 集合(set)与列表类似,都是用来保存多个字符串,但集合与列表有两点不同:集合中的元…

srt编辑的文件在linux显示乱码,解决看本地视频srt字幕乱码问题教程-srt文件

大家好,我是Ysaku,今天给大家带来一个解决srt字幕乱码问题的教程,今天在做视频的时候发现下载的视频配上srt字幕后显示的字幕会出现乱码情况,在修正问题后,我想大家也会也到这样的情况,那正好今天分享给大家…

李开复对话李飞飞:AI要理解人类的情感,还早着呢

来源:创业家第48届世界经济论坛年会在瑞士达沃斯召开,主题为“在分化的世界中打造共同命运”。达沃斯当地时间1月23日中午,在MIT的午餐会上,创新工场董事长李开复与李飞飞(Google Cloud AI/ML领域首席科学家&#xff0…

Redis系列六、redis的五种数据结构和相关指令之Sorted Set

本节中将介绍Redis支持的主要数据结构,以及相关的常用Redis命令。redis是一种基于键值对(key-value)的内存数据库,redis数据结构可以分为string、hash、list、set、sorted set。 redis的五种数据结构和相关指令之有序集合sorted …

AI时代的高科技读心术:算法解码脑中图像

来源:科研圈翻译 李杨,审校 张梦茜,编辑 魏潇让我们想象一下:只要在心里浮现出某个人物或风景,就能从一堆数码照片中把它搜索出来。或者不用动笔就能画出一个新的厨房设计。又或者给心爱的人发送一张想象中的落日照…

《Nature》发布毫米级软体机器人,可在没有任何物理干预情况下游走于人体

转载自公众号:机器人大讲堂概要:一直以来,微型机器人、软体机器人成为科学研究的热点,我们都期盼机器人能听从指挥的到达人体指定位置,在对人体危害最小的情况下递送药物或者切除病变组织。1966年著名作家艾萨克阿西莫…

Nature:寻找记忆的痕迹

来源:神经科技对于不是《神探夏洛克》超级粉丝的人来说,认知神经科学家Janice Chen对这部英国广播公司的热播侦探剧的了解比大多数人多。当观众观看这部电视剧的第一集然后描述其情节时,Chen能在脑部扫描仪的帮助下监视他们的脑子里正在发生什…

tcl linux 刷 安卓系统,安卓用户看过来—手把手教你刷第三方系统

来来来,小葵花课堂讲课啦。孩子咳嗽老不好,多半是废了,打一顿就好。手机卡顿老不好,先别着急,来刷个机吧。众所周知,因为安卓系统自身的特性,安卓手机用久了难免出现卡顿。一般来说解决的方法有…

DeepMind开源Psychlab平台——搭建AI和认知心理学的桥梁(附论文和代码下载)

来源:专知概要:DeepMind近期开源了Psychlab,这是一个利用认知心理学等领域知识来研究受控环境下人工智能体(Artificial Agent)的行为,从而模拟人类的行为。DeepMind近期开源了Psychlab,这是一个…

扩展立方体 The Scale Cube

转自: https://akfpartners.com/growth-blog/scale-cube/ 比例立方体 2018年4月25日| 发布者:Robin McGlothin Scale Cube是用于定义微服务和扩展技术产品的模型。AKF Partners于2007年发明了Scale Cube,最初于2007年在我们的博客上在线发…

人脑动态功能网络连接模式能够鉴别个体并预测其认知功能

来源:神经科技概要:近二十年来,基于静息态功能磁共振影像的人脑连接组学快速发展,为无创研究活体人脑的功能组织规律和网络运作机制提供了重要手段,大大促进了研究者对脑认知、脑发育和脑疾病神经机制的理解。近日&…

JMS之企业消息传送

企业消息传送:消息是通过网络从一个系统异步传送给其他系统的。 客户端:使用消息传送API 的一个业务应用程序或组件(如:JMS) 集中式体系结构 分散式体系结构

达沃斯群英纵论人工智能,核心观点汇总

来源:AI科技大本营概要:一年一度的世界经济论坛年会(达沃斯论坛)上,来自不同领域的精英纷纷发表了自己对于人工智能的看法。一年一度的世界经济论坛年会(达沃斯论坛)已经召开了3天,该…

Java消息服务思维导图笔记

https://www.processon.com/view/link/610b5f201efad40724bdfae2