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:对数字值执行浮点数加法操作

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

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

相关文章

mySql 基础语法

几个关键字 like 1、%:是一个通配符,代表零个、一个或多个字符a. 查找,以特定字符串开头的值:SELECT * FROM 表名 WHERE 列名 LIKE 前缀%;b. 查找,以特定字符串结尾的值:SELECT * FROM 表名 WHERE 列名 LI…

php7.4在foreach中对使用数据使用无法??[]判读,无法使用引用传递

代码如下图:这样子在foreach中是无法修改class_history的。正确的应该是去掉??[]判断。 public function actionY(){$array [name>aaa,class_history>[[class_name>一班,class_num>1],[class_name>二班,class_num>2]]];foreach ($array[class_…

Linux环境下的编译和调试

本文目录 一、编译1. gcc/g编译器2. gcc/g安装3. 代码编译过程4. gcc编译 二、调试1. 下载gdb调试器2. gdb 调试器使用步骤 一、编译 1. gcc/g编译器 对于.c 格式的 C 文件,可以采用 gcc 或 g编译。 对于.cc、.cpp 格式的 C文件,应该采用 g进行编译。 …

密文域可逆信息隐藏技术综述(上)

加密图像可逆信息隐藏是一种加密原始图像后,在密文图像中可逆地隐藏附加数据,并且在数据提取后,原始图像可以被无损重建的技术。RDH-EI的分类如图1所示。 按对图像的加密方法,现有RDH-EI算法可分为对称加密域和非对称(公钥)加密域…

vue 配合 video.js 实现视频播放

1. 导入 video.js 包 npm install video.js -S npm install videojs-flash -S 2. 代码实现 <template><div><videoid"my-video"class"video-js"controlspreload"auto"width"640"height"264":poster&quo…

form1弹出子窗体form2,拖动子窗体判断是否离开父窗体区域,含源码(学习笔记)

一、效果&#xff08;进入和离开&#xff09; 子窗体到达父窗体边缘时变色。 二、代码分析 判断父窗体的目的&#xff0c;可以控制子窗体要随父窗体走。上面代码需要加以处理。 如&#xff1a;this.Location new Point(parentPoint.X distanceFromEdge, this.Location.Ydis…

抖音上线“星绘”APP,它有着什么样的特殊之处?

抖音上线“星绘”APP 前言 就在4月25日&#xff0c;抖音在App Store上线了一款名为“星绘”的App。该App以妙鸭相机为对标产品&#xff0c;拥有着强大的AI生图能力&#xff0c;而产品中的“AI分身”也十分有特色&#xff0c;那么这款“星绘”App究竟如何呢&#xff1f;我们接着…

2024最新UI发卡盗U/支持多语言/更新UI界面/支持多个主流钱包

本文来自&#xff1a;2024最新UI发卡盗U/支持多语言/更新UI界面/支持多个主流钱包 - 源码1688 应用介绍 简介&#xff1a; 2024最新UI发卡盗U/支持多语言/更新UI界面/支持多个主流钱包 自行检查后门&#xff0c;最好是部署智能合约后用合约地址来授权 包含转账支付页面盗U授…

Dokcer容器分布式搭建LNMP+wordpress论坛

目录 引言 一、架构环境 二、搭建容器 &#xff08;一&#xff09;自定义网络 &#xff08;二&#xff09;搭建nginx容器 1.文件准备 2.查看与编辑文件 3.生成镜像 4.创建容器 &#xff08;三&#xff09;搭建MySQL容器 1.文件准备 2.查看与编辑文件 3.生成镜像 …

python自动化操作docx

使用Python自动化处理Word文档 在日常工作中&#xff0c;我们经常需要处理大量的Word文档&#xff0c;这时自动化脚本就显得尤为重要。本文将介绍如何使用Python中的python-docx库来创建和修改Word文档。 安装python-docx库 在开始之前&#xff0c;确保你已经安装了python-d…

LabVIEW自动剪板机控制系统

LabVIEW自动剪板机控制系统 随着工业自动化的快速发展&#xff0c;钣金加工行业面临着生产效率和加工精度的双重挑战。传统的手动或脚踏式剪板机已无法满足现代生产的高效率和高精度要求&#xff0c;因此&#xff0c;自动剪板机控制系统的研究与开发成为了行业发展的必然趋势。…

解决Uncaught TypeError: Cannot read properties of null (reading ‘getAttribute‘)

问题&#xff1a; 用了element ui 的echart ,初始化时候找不到指定id的元素&#xff0c;导致的问题&#xff0c;如下 浏览器控制台输出的错误信息如下 Echars echarts.min.js:22 Uncaught TypeError: Cannot read properties of null (reading getAttribute)at echarts.min.…

动手学深度学习——从零实现softmax分类模型

1. 数据集 fashion mnist是一个由10个类别图像组成的服装分类数据集&#xff0c;共包含60000张训练集图像和10000张测试集图像&#xff0c; 前者用于训练模型参数&#xff0c;后者用于评估模型性能。 2.1 数据集下载 先进行依赖库导入&#xff1a; %matplotlib inline …

图像识别应用技术

⚠申明&#xff1a; 未经许可&#xff0c;禁止以任何形式转载&#xff0c;若要引用&#xff0c;请标注链接地址。 全文共计3077字&#xff0c;阅读大概需要3分钟 &#x1f308;更多学习内容&#xff0c; 欢迎&#x1f44f;关注&#x1f440;【文末】我的个人微信公众号&#xf…

Akamai 分布式“云+边缘”,打造下一代数字化基座

当下&#xff0c;数字化基础设施正逐步向分布式部署演化&#xff0c;云计算与边缘计算正在成为两大技术支柱。Gartner 数据显示&#xff0c;云服务占 IT 整体支出比例连年上涨&#xff0c;在过去一年已增长至12.1%&#xff1b;IDC 报告显示&#xff0c;截至2021年已有超过500亿…

Grafana页面嵌入自建Web应用页面

目录 一、应用场景 二、实现方式 1、修改Grafana配置文件 2、获取监控页面url 3、隐藏左侧和顶部菜单 一、应用场景 需要将Grafana监控页面嵌入自建Web应用页面&#xff0c;使Grafana监控页面成为自建Web应用的一部分。 二、实现方式 总体思路&#xff1a;修改Grafana配…

行列式求解

行列式 给出一个矩阵求 行列式。 输入&#xff1a; 1 3 1 -2 -1 0 3 2 3 1 -1 思路&#xff1a; 不能直接乘上上面行的倍数来消除本行对应元素。试试辗转相减法把。 (1,3)减去2倍(0,1)->(1,0) (5,3)减去0倍(3,5)减去1倍(2,3)减去1倍(1,2)减去2倍(0,1)->(1,0) 然…

其他细节配置

文章目录 contextoutputlibrarylibraryTarget targetmodule.noParseresolvemodulesextensionsalias externalsstats context context: path.resolve(__dirname, "app")该配置会影响入口和loaders的解析&#xff0c;入口和loaders的相对路径会以context的配置作为基准…

mybatix常见查询

使用MyBatis进行复杂SQL查询和操作是一种常见的需求&#xff0c;这通常涉及到动态SQL的使用。在MyBatis中&#xff0c;你可以使用XML映射文件或注解来构建这些复杂的SQL语句。以下是一些示例&#xff0c;覆盖你所提及的动态查询分页、分组、多表联查等情况。 动态查询分页 在M…

C++之STL-list+模拟实现

目录 一、list的介绍和基本使用的方法 1.1 list的介绍 1.2 list的基本使用方法 1.2.1 构造方法 1.2.2 迭代器 1.2.3 容量相关的接口 1.2.4 增删查改的相关接口 1.3 关于list迭代器失效的问题 二、模拟实现list 2.1 节点类 2.2 迭代器类 2.3 主类list类 2.3.1 成员变…