redis基本数据类型及常见命令

news2025/1/16 6:04:05

数据库操作

Key的操作

String

  • 说明
    • String是二进制安全的,任何对象只要能转化为字符串,就可以存储(图片,视频)
    • 一个字符串最多存储512M
  • 常见命令
    • set <key> <value>: 添加数据
    • getset <key> <value>: 更新数据
    • get <key>: 取值
    • append <key> <value>: 指定value后追加值 (返回追加后的长度)
    • strlen <key>: 返回value长度
    • setnx <key> <value>: 当set不存在 添加value 若存在则不会覆盖
    • incr <key>: value++ 只能对数值操作 如果为空 加为1
    • decr<key>: value– 只能对数值操作 若为空 则为-1
    • incrby/decrby <key> <n>: + 或者 - n
    • mset<k1><v1><k2><v2>: 同时设置多个键值对
    • mget<k1><k2>: 同时获取多个value
    • msetnx <key> <value>: 同时设置多个 当set不存在 添加value 若存在则不会覆盖 (原子性 一个失败全失败)
    • gettrange <key> <起始位置><结束位置>: 截取value返回
    • settrange <key> <起始位置> <newValue>: 从起始位置覆盖value为新值
    • setex <key> <过期时间> <value> : 新增值的同时设置过期时间。

List 单键多值 (底层为双向链表)

  • 常用命令

    • lpush/rpush <key><v1><v2><v3> 从左边或者右边插入一个或多个值
      • 左边放是头插 (类似栈)
      • 右边放是尾插 (类似队列)
    • lrange <key> <start> <stop> 取start开始,stop结束的元素
      • lrange <key> 0 -1 表示取所有值
    • lpop/rpop: 从左边或者右边弹值 (值空key亡)
    • rpoplpush <key1> <key2>: k1右边弹值放入k2左边
    • lindex <key>: 获取指定下标的元素 从左到右
    • llen <key>: 获取list长度
    • linsert <key> before <v1> <v2>:将v2插入到左边第一次出现v1的位置之前。
    • lrem <key> <n> <value>: 从指定value处向左删除n个元素
    • lset <key> <index> <newValue>: 更新

Set

  • 对外的功能和list类似,但是可以自动去重 并且添加了判断是否存在指定value的功能
  • 底层为value为null的hash表,添加,修改,删除复杂度都是O(1)
  • 常见命令
    • sadd <key> <v1><v2> : 新增
    • smembers <key>: 取所有值
    • sismember <key> <value>: 判断是否存在该value 有返回1 无返回0
    • scard <key>: 长度
    • srem <key> <value>: 删除
    • spop <key>: 随机弹出一个值
    • srandmember <key> <n>: 随机取出n个值
    • smove <key1> <key2> <value>: 将value从key1放入key2中
    • sinter <k1> <k2> : 交集
    • sunion <k2> <k1>: 并集
    • sdiff <k1> <k2>: k1中有 k2中没有的

Hash

  • 键值对集合

  • String类型的``属性值`的映射表 适合存储对象。 <String,Map>

  • 例子

    image-20210717215636131

    image-20210717215523054

常见命令

  • hset <key><field1> <value1> <field2> <value2> 给key中的field赋值value
  • hget <key> <field>: 获取key对象中的field值
  • hexists<key><field>: 查看key对象的field属性是否存在
  • hkeys <key>: 列出所有field
  • hvals <key>:列出所有value
  • hincrby <key> <field> <n>: key对象的field属性加n
  • hsetnx <key> <field> <value> : 当且仅当field不存在时 设置属性。

Zset

在set的基础上增加了排序的功能,每个成员都关联了一个评分(score) ,根据评分进行排序.

  • 常见命令
    • zadd <key><score1><value1><score2><value2>…

      • 将一个或多个 member 元素及其 score 值加入到有序集 key 当中。
    • zrange <key><start><stop> [withscores]

      • 返回有序集 key 中,下标在 之间的元素
      • zrange <key> 0 -1: 返回所有元素
      • withscores,可以让分数一起和值返回到结果集。
    • zrangebyscore <key> <min> <max> [withscores] [limit offset count]

      • 返回有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。有序集成员按 score 值递增(从小到大)次序排列。
    • zrevrangebyscore key maxmin [withscores] [limit offset count]

      • 同上,改为从大到小排列。
    • zincrby <key> <n> <value>

      • 为value元素的score加上增n
    • zrem <key><value>

      • 删除该集合下,指定值的元素
    • zcount <key> <min> <max>

      • 统计该集合,分数区间内的元素个数
    • zrank <key><value>

      • 返回该值在集合中的排名,从0开始。

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

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

相关文章

【原创】使用PowerShell配置新安装的ESXI主机

安装PowerCLI 模块 在线安装 优点&#xff1a;简单 缺点&#xff1a;太慢 启动PowerShell命令行&#xff0c;执行行如下命令 Install-Module -Name VMware.PowerCLI离线安装 先到VMware官网下载离线包&#xff0c;然后分几个步骤安装 https://developer.vmware.com/powercl…

redis5新增数据类型

Bitmaps 概念 &#xff08;1&#xff09; Bitmaps本身不是一种数据类型&#xff0c; 实际上它就是字符串&#xff08;key-value&#xff09; &#xff0c; 但是它可以对字符串的位进行操作。 &#xff08;2&#xff09; 可以把Bitmaps想象成一个以位为单位的数组&#xff0c; 数…

HIEE300024R4 UAA326A04什么是反馈和前馈控制系统?

​ HIEE300024R4 UAA326A04什么是反馈和前馈控制系统&#xff1f; 反馈控制系统&#xff1a; 反馈系统测量过程中的值并对测量值的变化做出反应。 在传感器的帮助下测量过程的输出&#xff0c;并将传感器值提供给控制器以采取适当的控制措施。控制器将此传感器信号与设定点进行…

人物专辑丨技术服务展计讯风采,助力客户显计讯担当

正所谓&#xff1a;平凡铸就伟大。一切令人赞叹的不凡&#xff0c;都来自于平凡点滴的坚守&#xff1b;一切砥砺前行的坚持&#xff0c;都来自于责任的担当。 在计讯物联高质量发展的进程中&#xff0c;不乏敢于担当、踏实勤恳、爱岗敬业的计讯人。他们扎根岗位&#xff0c;坚…

grafana-report在grafana7中遇到的问题

一、点击之后报错pdf报错&#xff1a;NO image renderer available/installed 查看grafana日志后&#xff0c;有以下报错&#xff1a; Could not render image, no image renderer found/installed. For image rendering support please install the grafana-image-renderer …

ThingsBoard使用jar包单机部署

1、概述 前面一节我讲了如何初始化数据库表结构以及默认的数据。这一节我将讲解如何使用jar包部署。 2、部署 2.1、修改thingsboard.yml配置 上一节我已经讲解了thingsboard.yml中的基础配置,基础的组件配置如何redis、kafka、Cassandra、pg等大家都知道,关键的地方是在于…

Neo4j图数据库的介绍_图数据库结构_节点_关系_属性_数据---Neo4j图数据库工作笔记0001

以前就知道这个了,也见别人用过,在大数据领域有可能会用到所以就看了一下. 其实就是用来,指定数据之间的关系,但是他这个更适合处理,数据之间的大规模的关系 可以看到图数据可以用到上面的这些领域 因为图数据库,更适合处理关系,基于数学中的图论 可以看到,因为如果关系太庞大…

pandas使用教程:pandas resample函数处理时间序列数据

文章目录 时间序列(TimeSeries)执行多个聚合 上采样和填充值通过apply传递自定义功能 DataFrame对象 时间序列(TimeSeries) #创建时间序列数据 rng pd.date_range(1/1/2012, periods300, freqS)ts pd.Series(np.random.randint(0, 500, len(rng)), indexrng) ts2012-01-01 0…

十二、MyBatis分页插件

文章目录 十二、分页插件12.1 分页插件使用步骤12.2 分页插件的使用12.3 测试案例 本人其他相关文章链接 十二、分页插件 12.1 分页插件使用步骤 1. 添加依赖 <dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</art…

Java基本数据类型以及包装类型的常量池技术

Java 中的基本数据类型 Java 中有 8 种基本数据类型&#xff0c;分别为&#xff1a; 6 种数字类型&#xff1a; 4 种整数型&#xff1a;byte、short、int、long2 种浮点型&#xff1a;float、double 1 种字符类型&#xff1a;char1 种布尔型&#xff1a;boolean。 这 8 种基本…

Socks5 代理协议:网络安全中的利器

随着网络的普及&#xff0c;网络安全问题已成为各行各业所面临的共同难题。为了保护自己的网络安全&#xff0c;不少人选择使用代理IP&#xff0c;其中 Socks5 代理协议因其安全性、灵活性等优势备受青睐。本文将介绍 Socks5 代理协议及其在网络安全中的作用。 一、什么是 Soc…

安卓手机搭建智能语音客服/通话播音/聊天播音乐技术实现

声明&#xff0c;此项技术需要root支持&#xff0c;如果因为刷机导致手机变砖或其他不可预料的后果请自行解决。 场景 我有一个朋友他是做业务的&#xff0c;主要还是做电销&#xff0c;其实电销相对于以前纪念没那么好做了&#xff08;我自己觉得主要是互联网冲击&#xff0c…

[EIS 2019]EzPOP

[EIS 2019]EzPOP 考点&#xff1a; base64加密&#xff0c;解密的时候按4个的倍数 然后数组里面含有 php代码也可以执行 然后学到了解题思路&#xff0c;逆推然后找各个变量的初始值 <?php error_reporting(0);class A {protected $store;protected $key;protected $expire…

JAVA原生语言开发多学校Saas模式校园管理系统

开发语言&#xff1a;JAVA数据库&#xff1a;MySQL后端框架&#xff1a;Spring boot前端框架&#xff1a;VUE2电子班牌&#xff1a; Android 7.1小程序&#xff1a;原生开发多学校Saas 模式 详细技术栈 前后端分离 1、使用springboot框架Javavue2 2、数据库MySQL5.7 3、移动端…

1.数据库的管理(实验报告)

目录 一﹑实验目的 二﹑实验平台 三﹑实验内容和步骤 四﹑命令(代码)清单 五﹑命令(代码)运行结果 一﹑实验目的 了解SQL Server数据库的逻辑结构和物理结构的特点&#xff1b;掌握使用SQL Server管理平台对数据库进行管理的方法&#xff1b;掌握使用Transact-SQL语句对数…

云原生时代崛起的编程语言Go并发编程实战

文章目录 概述基础理论并发原语协程-Goroutine通道-Channel多路复用-Select通道使用超时-Timeout非阻塞通道操作关闭通道通道迭代 定时器-TimerAndTicker工作池-Worker Pools等待组-WaitGroup原子操作-Atomic互斥锁-Mutex读写互斥锁-RWMutex有状态协程单执行-Once条件-Cond上下…

交通拥堵、安全隐患、能源浪费…数字孪生技术助力城市管理现代化

随着智能城市的不断发展&#xff0c;数字孪生技术也开始在智慧城市的建设中得到了广泛应用。数字孪生作为一种数字化的复制技术&#xff0c;它可以模拟真实世界中的实体和过程。 在城市规划方面&#xff0c;数字孪生可以帮助城市规划师更加直观地了解城市的整体规划和发展趋势&…

Python爬虫常用框架

大家都知道python是一门多岗位编程语言&#xff0c;学习python之后可以从事的岗位有很多&#xff0c;python爬虫便在其中&#xff0c;不过很多人对python不是很了解&#xff0c;所以也不知道python爬虫是什么&#xff0c;接下来小编为大家介绍一下。 Python是一门非常适合开发…

Eureka注册中心及Ribbon的源码跟踪

搭建的思路: 一个Eureka注册中心, 两个微服务, 一个为order-service(订单服务), 一个为user-service(用户服务), 在order-service中需要使用user-service中的方法. 步骤: 搭建 Eureka-server服务, 用于服务的消费者和提供者注册服务向注册中心注册user-service服务向注册中心注…

即时通讯开发商如何选择?

随着即时通讯开发技术进步&#xff0c;人与人之间沟通互动更加便利。同时在企业的营销过程中&#xff0c;即时聊天手机APP为企业与消费者提供了即时互动平台&#xff0c;有效增强营销效果。 企业内部沟通、电商客服沟通都是需要用到即时通讯功能。而现在开发即时通讯功能并不是…