当前位置: 首页 > news >正文

Redis使用手册之字符串

《Redis使用手册字符串设置》

目录

      • **《Redis使用手册字符串设置》**
      • ** SET:为字符串键设置值**
      • ** GETSET:获取旧值并设置新值**
      • ** MSET:一次为多个字符串键设置值**
      • MGET:一次获取多个字符串键的值**
      • ** MSETNX:只在键不存在的情况下,一次为多个字符串键设置值**
      • ** STRLEN:获取字符串值的字节长度**
      • 字符串值的索引**
      • ** GETRANGE:获取字符串值指定索引范围上的内容**
      • SETRANGE:对字符串值的指定索引范围进行设置**
      • ** APPEND:追加新内容到值的末尾**
      • INCRBY、DECRBY:对整数值执行加法操作和减法操作**
      • INCR、DECR:对整数值执行加1操作和减1操作**
      • INCRBYFLOAT:对数字值执行浮点数加法操作**

** SET:为字符串键设置值**

  • 127.0.0.1:6379> set key 100
    OK
    127.0.0.1:6379> set key 100 NX
    (nil)

    不带任何可选项的SET 命令从Redis 1.0.0版本开始可用; 带有NX/XX等可选项的SET命令从Redis 2.6.12版本开始可用。

    原文:不带任何可选项的SET命令从Redis 1.0.0版本开始可用;带有NX、XX等可选项的SET命令从Redis 2.6.12版本开始可用。

** GETSET:获取旧值并设置新值**

  • 127.0.0.1:6379> getset key 200
    “100”

    getset:获取旧值并设置新值

    原文:GETSET命令就像GET命令和SET命令的组合版本,GETSET首先获取字符串键目前已有的值,接着为键设置新值,最后把之前获取到的旧值返回给用户:

** MSET:一次为多个字符串键设置值**

  • 127.0.0.1:6379> mset message “zhangsan” number 12345
    OK
    127.0.0.1:6379> get message
    “zhangsan”
    127.0.0.1:6379> get number
    “12345”

    mset命令除了可以让用户更为方便地执行多个设置操作之外,还能有效地提高程序的效率:执行多条set命令需要客户端和服务器进行多次网络通信,并因此耗费大量的时间,执行一条mset命令去代替多条set命令只需要一次网络通讯。

    原文:MSET命令除了可以让用户更为方便地执行多个设置操作之外,还能有效地提高程序的效率:执行多条SET命令需要客户端和服务器之间进行多次网络通信,并因此耗费大量的时间;而使用一条MSET命令去代替多条SET命令只需要一次网络通信,从而有效地减少程序执行多个设置操作时的时间。

MGET:一次获取多个字符串键的值**

  • 127.0.0.1:6379> mget message number

    1. “zhangsan”
    2. “12345”

    MGET:一次获取多个字符串键的值 与mset命令类似,MGET命令也可以将执行多个获取操作所需的网络通信次数从原来的N次降低至只需一次。

    原文:与MSET命令类似,MGET命令也可以将执行多个获取操作所需的网络通信次数从原来的N次降低至只需一次,从而有效地提高程序的运行效率。

** MSETNX:只在键不存在的情况下,一次为多个字符串键设置值**

  • 127.0.0.1:6379> msetnx message “lisi” nerber 123 wangwu “hh” bb “aa”
    (integer) 0

    msetnx:只有键不存在的情况下,一次为多个字符串键设置值

    原文:MSETNX:只在键不存在的情况下,一次为多个字符串键设置值

通过使用相同的格式去命名逻辑上相关联的键,我们可以让程序产生的数据结构变得更容易被理解,并且在需要的时候,还可以根据特定的键名格式在数据库里面以模式匹配的方式查找特定的键。

原文:通过使用相同的格式去命名逻辑上相关联的键,我们可以让程序产生的数据结构变得更容易被理解,并且在需要的时候,还可以根据特定的键名格式在数据库里面以模式匹配的方式查找指定的键。

** STRLEN:获取字符串值的字节长度**

  • 127.0.0.1:6379> strlen message
    (integer) 8

    strlen:获取字符串值的字节长度。

    原文:STRLEN:获取字符串值的字节长度

字符串值的索引**

字符串值的正数索引以0为开始,从字符串的开头向结尾不断递增 字符串值的负数索引以-1为开始,从字符串的结尾向开头不断递减。

原文:字符串值的正数索引以0为开始,从字符串的开头向结尾不断递增。●字符串值的负数索引以-1为开始,从字符串的结尾向开头不断递减。

** GETRANGE:获取字符串值指定索引范围上的内容**

127.0.0.1:6379> get message
“zhangsan”
127.0.0.1:6379> getrange message -5 -1
“ngsan”
127.0.0.1:6379> getrange message 0 8
“zhangsan”
127.0.0.1:6379> getrange message -8 0
“z”
127.0.0.1:6379> getrange message -8 -1
“zhangsan”
127.0.0.1:6379> getrange message -8 -2
“zhangsa”

GETRANGE:获取字符串值指定索引范围上的内容 getrange message 0 8 getrange message -8 -1

原文:GETRANGE:获取字符串值指定索引范围上的内容

SETRANGE:对字符串值的指定索引范围进行设置**

  • 127.0.0.1:6379> setrange message 4 “lisiwangwi”
    (integer) 14
    127.0.0.1:6379> get message
    “zhanlisiwangwi”
    127.0.0.1:6379> setrange message 18 “hhhh”
    (integer) 22
    127.0.0.1:6379> get message
    “zhanlisiwangwi\x00\x00\x00\x00hhhh”

    SETRANGE:对字符串值的指定索引范围进行设置 setrange key 5 111 自动扩展被修改的字符串 在值里面填充空字节

    原文:SETRANGE:对字符串值的指定索引范围进行设置

** APPEND:追加新内容到值的末尾**

  • 127.0.0.1:6379> append message “DDD”
    (integer) 25
    127.0.0.1:6379> get message
    “zhanlisiwangwi\x00\x00\x00\x00hhhhDDD”

    APPEND:追加新内容到值的末尾 append key suffix 如果用户给定的键并不存在,那么append命令会先将键的值初始化为空字符串,然后再执行追加操作。

    原文:APPEND:追加新内容到值的末尾

INCRBY、DECRBY:对整数值执行加法操作和减法操作**

  • 127.0.0.1:6379> incrby number 200
    (integer) 12545
    127.0.0.1:6379> incrby number 300
    (integer) 12845
    127.0.0.1:6379> decrby number 1845
    (integer) 11000
    127.0.0.1:6379> incrby message 100
    (error) ERR value is not an integer or out of range
    127.0.0.1:6379> incrby num 100
    (integer) 100

    incrby、decrby:对整数值执行加法操作和减法操作 当字符串键的值不能被Redis解释为整数时,对键执行incrby、decrby命令将返回一个错误。 处理不存在的键,incrby、decrby命令会先将键的值初始化为0,然后再执行响应的加法操作或减法操作。

    原文:INCRBY、DECRBY:对整数值执行加法操作和减法操作

INCR、DECR:对整数值执行加1操作和减1操作**

  • 127.0.0.1:6379> incr num 111
    (error) ERR wrong number of arguments for ‘incr’ command
    127.0.0.1:6379> incr num
    (integer) 101
    127.0.0.1:6379> decr num
    (integer) 100

    INCR、DECR:对整数值执行加1操作和减1操作。 INCR KEY DECR KEY 除了增量和减量被固定位1之外,INCR命令和DECR命令的其他方面与INCRBY、DECRBY命令完全相同。

    原文:INCR、DECR:对整数值执行加1操作和减1操作

INCRBYFLOAT:对数字值执行浮点数加法操作**

  • 127.0.0.1:6379> incrbyfloat decimal 3.14
    “3.14”
    127.0.0.1:6379> incrbyfloat decimal 5.61
    “8.75”
    127.0.0.1:6379> incrbyfloat decimal 5.61
    “14.36”
    127.0.0.1:6379> incrbyfloat decimal -5.61
    “8.75”
    127.0.0.1:6379> incrbyfloat decimal -5.61
    “3.14”
    127.0.0.1:6379> incrbyfloat decimal 0.111215451216585525558963
    “3.25121545121658553”

    incrbyfloat:对数字值执行浮点数加法操作 处理不存在的键,会先将键的值初始化,然后再执行相应的加法操作。 Redis为INCR命令提供了相应的减法版本DECR命令,也为INCRBY命令提供了相应的减法版本DECRBY命令,但是并没有为INCRBYFLOAT命令提供相应的减法版本,因此用户只能通过给INCRBYFLOAT命令传入负数增量来执行浮点数的减法操作。 在使用INCRBYFLOAT命令处理浮点数的时候,命令最多只会保留计算结果小数点后的17位数字,超过这个范围的小数将被截断。

    原文:INCRBYFLOAT:对数字值执行浮点数加法操作

相关文章:

Redis使用手册之字符串

《Redis使用手册字符串设置》 目录 **《Redis使用手册字符串设置》**** SET:为字符串键设置值**** GETSET:获取旧值并设置新值**** MSET:一次为多个字符串键设置值**MGET:一次获取多个字符串键的值**** MSETNX:只在键不…...

嵌入式Linux学习第二天

今天学习linuxC编程。首先要熟悉linux下编写c程序的过程。 编写程序Hello World! 首先创建存放程序的文件夹,如下图所示: 接下来在创建一个文件夹来保存这节要编写的代码。指令:mkdir 3.1 接下来我们要设置VIM编辑器的一些配置&#xff0…...

【intro】图卷积神经网络(GCN)

本文为Graph Neural Networks(GNN)学习笔记-CSDN博客后续,内容为GCN论文阅读,相关博客阅读,kaggle上相关的数据集/文章/代码的阅读三部分,考虑到本人是GNN新手,会先从相关博客开始,进一步看kaggle&#xff…...

【Web】CTFSHOW 新手杯 题解

目录 easy_eval 剪刀石头布 baby_pickle repairman easy_eval 用script标签来绕过 剪刀石头布 需要赢100轮🤔 右键查看源码拿到提示 一眼session反序列化 打PHP_SESSION_UPLOAD_PROGRESS 脚本 import requestsp1 a|O:4:"Game":1:{s:3:"log…...

react 学习笔记二:ref、状态、继承

基础知识 1、ref 创建变量时,需要运用到username React.createRef(),并将其绑定到对应的节点。在使用时需要获取当前的节点; 注意:vue直接使用里面的值,不需要再用this。 2、状态 组件描述某种显示情况的数据&#…...

[SaaS]建筑领域的sd应用

AirchiDesignhttp://www.aiarchi.art/#/建筑学长——千万建筑师的资源库和AI绘图创作平台建筑学长官网,为青年设计师建立的线上资源共享及AI绘图创作渲染平台,免费提供海量设计案例、CAD图纸、SU模型、PS素材、软件插件下载,提供丰富的设计软件教学与灵感参考素材图库。https:/…...

气象数据nc数据矢量化处理解析及可视化

气象数据可视化是将气象学领域中复杂的数据集转化为图形或图像的过程,以直观展示天气现象、气候模式、趋势和预报结果。气象数据的可视化技术广泛应用于科学研究、气象预报、航空、航海、农业生产、灾害预警系统、城市规划、公众服务等领域。以下是一些关键的气象数…...

APP广告变现,开发者对接百度广告联盟,广告变现收益如何?

百度广告联盟属于广告整合平台,类似的还有穿山甲、优量汇、快手联盟等。 百度广告联盟注册流程: 创建账户:填写用户基本信息,如:用户名、密码、邮箱、手机号; 完善财务信息:填写银行账号、开…...

spring Ai框架整合Ollama,调用本地大模型

Ollama使用 Ollama是一个用于在本地计算机上运行大模型的软件 软件运行后监听11434端口,自己写的程序要调大模型就用这个端口 ollama命令 ollama list:显示模型列表 ollama show:显示模型的信息 ollama pull:拉取模型 ollama pu…...

八股spring+springboot+springMVC+Mybatis(一)

目录 1、面试官:Spring框架中的单例bean是线程安全的吗? 2、面试官:什么是AOP 3、面试官:你们项目中有没有使用到AOP 4、面试官:Spring中的事务是如何实现的 5、面试官:Spring中事务失效的场景有哪些 6、面…...

(六)SQL系列练习题(下)#CDA学习打卡

目录 三. 查询信息 16)检索"1"课程分数小于60,按分数降序排列的学生信息​ 17)*按平均成绩从高到低显示所有学生的所有课程的成绩以及平均成绩 18)*查询各科成绩最高分、最低分和平均分 19)*按各科成绩…...

python数据处理(pandas)

# 新的数据格式,csv纯文本,使用某个字符集,比如都是ASCII、Unicode、EBCDIC或GB2312(简体中文环境)等;由记录组成(典型的是每行一条记录)每条记录被分隔符(英语&#xff…...

微信小程序开发秘籍:玩转麦克风录音与音频上传【代码示例】

微信小程序开发秘籍:玩转麦克风录音与音频上传【代码示例】 基本概念麦克风录音音频上传 实战演练1. 初始化录音功能2. 设计录音界面3. 实现音频上传安全性与性能优化 结语与讨论 在移动互联网时代,语音交互已成为提升用户体验的重要手段之一。微信小程序…...

spring的核心详解

Spring 核心详解 文章目录 Spring 核心详解前言什么是springspring的优点spring用到了哪些设计模式 什么是AOPAOP的实现方式静态代理动态代理 什么是IOCIOC的好处什么是依赖注入 前言 什么是spring Spring是一个开源的Java/Java EE全功能栈(full-stack&#xff09…...

一、写给Android开发者之harmony入门

一、创建新项目 对比 android-studio:ability类似安卓activity ability分为两种类型(Stage模型) UIAbility和Extensionability(提供系统服务和后台任务) 启动模式 1、 singleton启动模式:单例 2、 multiton启动模式&#xff1…...

C++常用库函数——strstr、strcat

1、strstr:查找字符串子串函数,查找到的子串中第一个字符的地址,返回值是第一次出现子串字符串的位置。 例如: char a[20] "RUNOOB"; char b[10] "NOOB"; printf("%s", strstr(a, b)); 在这里…...

Kafak 消费异常:The coordinator is not available.

Kafak 消费异常:The coordinator is not available. 1. 问题描述2. 问题排查2.1 Topic 状态异常2.2 `__consumer_offsets` 简介1. 问题描述 在新环境部署 Kafak 时,发现可以正常产生消息,但是无法正常消费消息,消费消息的异常日志如下: 11:59:53.315 [main] DEBUG org.a…...

JavaScript中的对象

这里写目录标题 JavaScript中的对象属性 对象的使用属性和访问方法和调用遍历对象null 内置对象Math属性方法 JavaScript中的对象 对象(object)是JavaScript里的一种数据类型,可以理解为一种无序的数据集合(数组是有序的数据集合…...

Oracle对空值(NULL)的 聚合函数 排序

除count之外sum、avg、max、min都为null,count为0 Null 不支持加减乘除,大小比较,相等比较,否则只能为空;只能用‘is [not] null’来进行判断; Max等聚合函数会自动“过滤null” null排序默认最大&#xf…...

我独自升级崛起下载教程 我独自升级崛起一键下载

动作RPG游戏基于广大喜爱的动画和在线漫画《我独自升级崛起》在5月8日,这款新的游戏首次在全球亮相,意在给那些对游戏情有独钟的玩家带来更加丰富和多种多样的游戏体验。这个网络武侠题材的游戏设计非常具有创意,其主要故事围绕着“独孤求败”…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享

文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...

招商蛇口 | 执笔CID,启幕低密生活新境

作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...

搭建DNS域名解析服务器(正向解析资源文件)

正向解析资源文件 1)准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2)服务端安装软件:bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...

Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案

在大数据时代,海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构,在处理大规模数据抓取任务时展现出强大的能力。然而,随着业务规模的不断扩大和数据抓取需求的日益复杂,传统…...

零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程

STM32F1 本教程使用零知标准板(STM32F103RBT6)通过I2C驱动ICM20948九轴传感器,实现姿态解算,并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化,适合嵌入式及物联网开发者。在基础驱动上新增…...

实战三:开发网页端界面完成黑白视频转为彩色视频

​一、需求描述 设计一个简单的视频上色应用,用户可以通过网页界面上传黑白视频,系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观,不需要了解技术细节。 效果图 ​二、实现思路 总体思路: 用户通过Gradio界面上…...

HTML前端开发:JavaScript 获取元素方法详解

作为前端开发者,高效获取 DOM 元素是必备技能。以下是 JS 中核心的获取元素方法,分为两大系列: 一、getElementBy... 系列 传统方法,直接通过 DOM 接口访问,返回动态集合(元素变化会实时更新)。…...

ubuntu22.04有线网络无法连接,图标也没了

今天突然无法有线网络无法连接任何设备,并且图标都没了 错误案例 往上一顿搜索,试了很多博客都不行,比如 Ubuntu22.04右上角网络图标消失 最后解决的办法 下载网卡驱动,重新安装 操作步骤 查看自己网卡的型号 lspci | gre…...