Redis的五种数据类型 #系统架构设计师#

数据类型说明常用方法
stringString类型是包含很多种类型的特殊类型,并且是二进制安全的。比如序列化的对象进行存储,比如一张图片进行二进制存储,比如一个简单的字符串、数值等等、

set、get、del方法:

      设置值:set name bhz

      取值 get name (说明 设置name多次会覆盖)

      删除值:del name

使用setnx (not exist)

     name 如果不存在进行设置,存在就不需要进行设置,返回0

使用setex (expired)

     setex color 10 red 设置color的有效期为10秒,10秒后返回nil (在redis里nil表示空)

使用setrange 替换字符串:

    set email 674897610@qq.com

    setrange email 10 ww (10表示从第几位开始替换,后面跟上替换的字符串)

使用一次性设置多个和获取多个值的mset,mget方法:

      mset key1 bhz key2 bai key3 28 :对应的mget key1 key2 key3 方法

      对应的也有msetnx 和 mget方法。

一次性设置和取值的getset方法;

     set key4 cc

     getset key4 changchun 返回旧值并设置新值的方法。

incr和decr方法:对某一个值进行递增和递减

incrby和decrby方法:对某个值进行指定长度的递增和递减 incrby key 【步长】

append [name]方法:字符串追加方法

strlen [name]方法:获取字符串的长度

Hash

哈希是一种键值对结构,适合管理用户信息等管理。哈希表的底层实现方式包括预分配和惰性空间释放。

hset myhash filed1 hello(含义是hset是hash集合,myhash是集合的名字 filed1是字段名 hello是其值)使用hget myhash field1 获取内容 ,也可以存储多个值。hmset可以进行批量存储多个键值对;hmset myhash sex nan addr beijing,也可以使用hmget进行批量获取多个键值对。

同样也有hsetnx,和setnx类似;

hincrby和hdecrby 集合递增和递减

hexists 是否存在key,如果存在返回,不存在返回0

hlen 返回hash几个里的所有的键数值

hdel 删除指定hash的field

hkeys 返回hash里所有的字段

hvals 返回hash的所有value

hgetall 返回hash里所有的key和value

ListList类型是以一个链表结构的集合,主要功能有push、pop、获取元素等。更消息的说,List类型是一个双端链表的结构,

lpush方法:从头部加入元素,先进后出          lpush list1 "hello"    

rpush方法:从尾部加入数据,先进先出     rpush list2 "hangzhuo"

linsert方法:插入元素     linsert list2 before [集合元素]  [插入元素]

Set

集合不允许有重复的元素,元素是无序的。集合的底层实现方式包括跳跃表的空间重分配。对集合可以取交集,并集,差集。

sadd,添加

srem 删除

spop 随机删除

Zset

有序集合则是在Set的基础上增加了元素的排序功能。有序集合的底层实现方式包括hash的rehash。

1. ZADD:添加新的有序元素到集合中,同时可以指定元素的关联分数。

2. ZREM:从有序集合中删除指定的元素。

3. ZINCRBY:向指定的元素增加关联分数。

4. ZINCRBYFLOAT:向指定的元素增加一个浮点数形式的关联分数。

5. ZDECRBY:向指定的元素减少关联分数。

6. ZDECRBYFLOAT:向指定的元素减少一个浮点数形式的关联分数。

7. ZRANGE:获取有序集合中指定范围内的元素,包括元素本身和关联分数。

8. ZRANK:获取指定元素在有序集合中的排名。

9. ZCOUNT:获取有序集合中指定范围内的元素数量。

10. ZRANGEBYLEX:获取有序集合中按照元素的字母顺序排列的元素。

11. ZREVRANGE:获取有序集合中指定范围内的元素,包括元素本身和关联分数,但返回的结果是反向的。

12. ZREVRANK:获取指定元素在有序集合中的反向排名。

13. ZSCORE:获取指定元素的关联分数。

14. ZUNIONSTORE:将多个有序集合合并为一个新的有序集合。

15. ZINTERSTORE:将多个有序集合按照指定的关联分数进行交并运算,得到一个新的有序集合。

16. ZREMRANGEBYLEX:按照元素的字母顺序,从有序集合中删除指定范围内的元素。

17. ZREMRANGEBYRANK:按照元素的排名,从有序集合中删除指定范围内的元素。

18. ZREMRANGEBYSCORE:按照元素的关联分数,从有序集合中删除指定范围内的元素。

19. ZREVRANGEBYLEX:按照元素的字母顺序,从有序集合中获取指定范围内的元素。

20. ZREVRANGEBYRANK:按照元素的排名,从有序集合中获取指定范围内的元素。

21. ZREVRANGEBYSCORE:按照元素的关联分数,从有序集合中获取指定范围内的元素。

 

 

2023年的软考案例分析中出现了考察Redis命令的题目。

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

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

相关文章

Nvidia显卡名词解释

GPU(硬件)指的就是显卡。 cuda, cudnn等一系列名词都是服务gpu而开发的 NVIDIA Drive(软件)指的是驱动软件 CUDA(软件)负责计算和编译的软件平台 NVCC指的是CUDA的编译器 CUDNN(软件包管理工具&…

利用js实现图片压缩功能

图片压缩在众多应用场景中扮演着至关重要的角色,尤其是在客户端上传图片时。原始图片往往体积庞大,直接上传不仅消耗大量带宽资源,还可能导致上传速度缓慢,严重影响用户体验。因此,在图片上传至服务器前对其进行压缩处…

嵌入式开发过程中,常见报错以及解决方法

编写不易,仅供学习,参考谢谢,还望理解。 #常见报错 文件最后一行没有新行 翻译:文件的最后一行结束时没有新行 解决方法:定位到,提示报错的 .h 文件 报错行 ,加上一个新行 函数定义时与官方提…

网信大数据信用报告查询怎么查?网信大数据有什么作用?

随着互联网的快速发展,大数据技术已经广泛应用于各行各业。其中,网信大数据信用报告查询成为了许多人关注的焦点。那么,如何查询网信大数据信用报告呢?网信大数据又有哪些作用呢?本文将为您一一解答。 一、如何查询网信大数据信用报告? 要…

NodeJS校园快递智能互助平台-计算机毕业设计源码58554

摘 要 随着校园人口的增加和生活节奏的加快,校园快递成为一个重要的服务需求。然而,传统的校园快递方式存在一些问题,例如无法满足快速和高效的需求,易发生丢失或损坏的情况,同时也给快递人员和用户带来不便。因此&am…

C++ 实现图书馆资料管理系统

1、问题描述 : 图书馆中的资料很多,如果能分类对其资料流通进行管理,将会带来很多方 便,因此需要有一个媒体库管理系统。 图书馆共有三大类物品资料:图书、视频光盘、图画。 这三类物品共同具有的属性有:编…

LangChain Cookbook Part 1

参考自https://github.com/gkamradt/langchain-tutorials/blob/main/LangChain%20Cookbook%20Part%201%20-%20Fundamentals.ipynb LangChain食谱-1 这个文档基于LangChain Conceptual Documentation 目标是介绍LangChain组件和用例 什么是LangChain? LangChain是…

REST简介

REST(Representational State Transfer,表现层状态转移)是一种软件架构风格,用于设计网络应用程序。它是由Roy Fielding在他的2000年的博士论文中定义的。REST模型基于使用HTTP协议进行通信的客户端-服务器系统,并且具…

「51媒体」制定《媒体邀约名单》,几点建议

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 媒体宣传加速季,100万补贴享不停,一手媒体资源,全国100城线下落地执行。详情请联系胡老师。 当制定媒体邀约名单时,以下是一些建议&#x…

深度学习中的注意力机制:MHA、MQA和GQA

深度学习中的注意力机制:MHA、MQA和GQA MHA、MQA、GQA区别和联系 Grouped Query Attention (GQA) explained with code

海事无人机解决方案

海事巡察 海事巡察现状 巡查效率低下,存在视野盲区,耗时长,人力成本高。 海事的职能 统一管理水上交通安全和防治船舶污染。 管理通航秩序、通航环境。负责水域的划定和监督管理,维护水 上交通秩序;核定船舶靠泊安…

一文带你了解人工智能:现状、应用、变革及未来展望

近年来,人工智能(AI)的发展势头迅猛,它已经渗透到了我们生活的方方面面。从智能手机的语音助手到自动驾驶汽车,从智能家居到医疗诊断,AI正在改变着我们的生活方式。本文将结合时事,为大家介绍当…

日志自动分析-操作系统-GscanLogonTracerf8x

🎼个人主页:金灰 😎作者简介:一名简单的大一学生;易编橙终身成长社群的嘉宾.✨ 专注网络空间安全服务,期待与您的交流分享~ 感谢您的点赞、关注、评论、收藏、是对我最大的认可和支持!❤️ 🍊易编橙终身成长社群&#…

zdppy+vue3+antd 实现表格单元格编辑功能

初步实现 <template><a-button class"editable-add-btn" style"margin-bottom: 8px" click"handleAdd">Add</a-button><a-table bordered :data-source"dataSource" :columns"columns"><templa…

汽车软件开发:ASPICE与ISO26262标准下的质量管理与控制实践

在汽车软件开发中&#xff0c;质量管理与控制是确保软件产品满足预期功能、性能、可靠性和安全性的关键过程。ASPICE&#xff08;Automotive SPICE&#xff09;和ISO 26262标准在这一领域中各自扮演重要角色&#xff0c;共同为汽车软件开发提供了全面的质量管理与控制框架。 AS…

持续集成/持续部署(CI/CD)工具:Jenkins、GitLab CI等工具的使用

持续集成/持续部署(CI/CD)工具&#xff1a;Jenkins、GitLab CI等工具的使用 在软件开发过程中&#xff0c;持续集成/持续部署&#xff08;CI/CD&#xff09;是一种重要的实践&#xff0c;可以帮助我们提高软件质量、加快开发速度和降低风险。CI/CD工具可以自动化软件构建、测试…

Vue 中的 scoped 和 /deep/ 深度选择器

Vue在组件里写 css 给 <style> 标签加上 scoped &#xff0c;比如&#xff1a; <style lang"less" scoped> &#xff0c;这样的 css 就是局部的&#xff0c;不会影响其他组件。 假设引入了一个子组件&#xff0c;并希望在组件中修改子组件的样式&#x…

阿里云Linux中安装MySQL,并使用navicat连接以及报错解决

首先查询是否安装MySQL // linux 使用yum安装或者rpm安装。(就是一个安装工具类似于applStore&#xff0c;brew不必在意) // 区别&#xff1a;yum会自动安装你要安装的东西的其他依赖&#xff0c;rpm不会但会提示你需要安装的东西&#xff0c;比较麻烦&#xff0c;所以采用yum安…

qt 图形、图像、3D相关知识

1.qt 支持3d吗 Qt确实支持3D图形渲染。Qt 3D模块是Qt的一个组成部分&#xff0c;它允许开发者在Qt应用程序中集成3D内容。Qt 3D模块提供了一组类和函数&#xff0c;用于创建和渲染3D场景、处理3D对象、应用光照和纹理等。 Qt 3D模块包括以下几个主要组件&#xff1a; Qt 3D …

Python面试题:请编写一个程序,查找给定列表中的最大和最小值

当然&#xff0c;可以使用 Python 编写一个简单的程序来查找给定列表中的最大和最小值。以下是一个示例程序&#xff1a; def find_max_min(values):if not values: # 检查列表是否为空return None, Nonemax_value values[0]min_value values[0]for value in values:if val…