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.mfbz.cn/a/584548.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

go设计模式之抽象工厂模式

抽象工厂模式 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 工厂方法模式通过引入工厂等级结构,解决了简单工厂模式中工厂类职责太重的问题,但由于工厂方法模式中的每个工厂只生产一类产品,可能会导致…

maven-依赖管理

依赖配置 https://mvnrepository.com/?__cf_chl_rt_tkvRzDsumjmJ_HF95MK4otu9XluVRHGqAY5Wv4UQYETR8-1714103058-0.0.1.1-1557 <dependencies><dependency><groupId></groupId><artifactId></artifactId><version></version>…

精确测量地面沉降:静力水准仪的应用

地面沉降是一个全球性的地质问题&#xff0c;它可能对建筑物、道路和地下设施造成严重的损害。因此&#xff0c;对地面沉降进行精确测量和监测至关重要。静力水准仪作为一种先进的测量设备&#xff0c;为地面沉降的精确测量提供了有效手段。本文将探讨静力水准仪在地面沉降测量…

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

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

版本控制系统-Git

目录 1. Git简介 2. 下载及安装 3.命令行操做 3.1全局设置 3.2初始化仓库 3.3提交代码 3.4查看提交历史 3.5推送代码 3.6拉取合并代码 3.7克隆仓库 3.8. 配置忽略文件 3.9. 凭据管理 4. GUI工具操作 4.1. 全局设置 4.2. 初始化仓库 4.3. 提交代码 输入提交日志…

【linux-1-Ubuntu常用命令-vim编辑器-Vscode链接ubuntu远程开发】

目录 1. 安装虚拟机Vmare和在虚拟机上安装Ubuntu系统&#xff1a;2. 常用的Ubuntu常识和常用命令2.1 文件系统结构2.2 常用命令2.3 vim编辑器 3. Ubuntu能联网但是ping不通电脑&#xff1a;4. Windows上安装VScode链接ubuntu系统&#xff0c;进行远程开发&#xff1a; 1. 安装虚…

uni-app - 使用地图功能打包安卓apk的完美流程以及重要的注意事项(带您一次打包成功)

在移动应用开发中&#xff0c;地图功能是一个非常常见且实用的功能&#xff0c;可以帮助用户快速定位并浏览周边信息。而在uni-app开发中&#xff0c;使用地图功能也是一项必备技能。本文将介绍uni-app使用地图功能打包安卓apk的注意事项&#xff0c;帮助开发者顺利完成地图功能…

每日OJ题_DFS爆搜深搜回溯剪枝①_力扣784. 字母大小写全排列

目录 力扣784. 字母大小写全排列 解析代码1_path是全局变量 解析代码2_path是函数参数 力扣784. 字母大小写全排列 784. 字母大小写全排列 难度 中等 给定一个字符串 s &#xff0c;通过将字符串 s 中的每个字母转变大小写&#xff0c;我们可以获得一个新的字符串。 返回…

Linux环境下的编译和调试

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

第一个Cython程序-helloworld

Cython是Python的一个模块&#xff0c;可以将python语言“翻译”成C语言。 如何安装&#xff1f; python -m pip install Cython -i https://pypi.tuna.tsinghua.edu.cn/simple/ 新建两个文件helloworld.pyx和setup.py。 helloworld.pyx print("hello world")setu…

【学习vue 3.x】(五)VueRouter路由与Vuex状态管理

文章目录 章节介绍本章学习目标 路由的基本搭建与嵌套路由模式vue路由的搭建嵌套路由模式 动态路由模式与编程式路由模式动态路由模式编程式路由 命名路由与命名视图与路由元信息命名路由命名视图路由元信息 路由传递参数的多种方式及应用场景路由传参 详解route对象与router对…

ubuntu开启message文件

环境&#xff1a;ubuntu 20.04 1、首先需要修改 /etc/rsyslog.d/50-default.conf 文件&#xff1b;源文件中message被注释&#xff0c;如下图&#xff1a; 2、打开注释&#xff1a; 3、重启服务 systemctl restart rsyslog.service 如此即可&#xff01;

OFDM802.11a的FPGA实现(五)卷积编码器的FPGA实现与验证(含verilog代码和matlab代码)

目录 1.前言2.卷积编码2.1卷积编码基本概念2.2 802.11a卷积编码器2.3 卷积编码模块设计2.4 Matlab设计与ModelSim仿真验证 1.前言 前面一节完成了扰码器的FPGA设计与Matlab验证&#xff0c;这节继续对卷积编码器进行实现和验证。 2.卷积编码 2.1卷积编码基本概念 卷积码编码器…

Aiseesoft Data Recovery for Mac:专业数据恢复软件

Aiseesoft Data Recovery for Mac是一款高效且专业的数据恢复软件&#xff0c;专为Mac用户量身打造。 Aiseesoft Data Recovery for Mac v1.8.22激活版下载 无论是由于误删、格式化还是系统崩溃等原因导致的数据丢失&#xff0c;Aiseesoft都能帮助您快速找回。 它采用先进的扫描…

Windows下Git安装

目录 一、下载二、安装三、查看 Git 安装路径 一、下载 下载链接&#xff1a;https://git-scm.com/ 二、安装 双击安装包&#xff0c;按提示一步步进行操作&#xff1a; 三、查看 Git 安装路径 where git D:\Program Files\Git\cmd\git.exe

什么是DDoS攻击?怎么防御DDoS攻击?

在网络安全领域&#xff0c;DDoS攻击一直是热门话题&#xff0c;随着网络技术的不断发展和网络环境的复杂化演变&#xff0c;DDoS攻击变得愈加频繁、更具破坏性。根据2023年网络安全态势研判分析年度综合报告&#xff0c;全年全网网络层的DDoS攻击次数达2.51亿次&#xff01;本…

卷积通用模型的剪枝、蒸馏---蒸馏篇--KD蒸馏(以deeplabv3+为例)

上篇文章介绍了剪枝篇,本文以上篇的剪枝模型为学生模型,以剪枝之前的模型为教师模型,进行KD逻辑蒸馏,之后会尝试特征蒸馏和关系蒸馏等。 一、KD逻辑蒸馏 1.1 大致过程 逻辑蒸馏,是基于分类问题设计的,因此非常适用于语义分割。模型最后会有一个softmax层,其输出值对应了…

React正式更新!开始学习React 19!

本文为原创文章&#xff0c;原文链接&#xff1a;J实验室&#xff0c;未经授权请勿转载 今年2月份&#xff0c;React 发布消息确认今年发布 v19 版本&#xff0c;尘封两年的版本号终于要更新了&#xff08;详情点击&#xff1a;React 19 发布在即&#xff0c;抢先学习一下新特性…

x2600君正 ubi文件系统的编译和烧录

使用平台&#xff1a;君正x2600 ubi文件系统使用问题 1.ubi文件和ubifs文件 2 方法&#xff1a;mkfs.ubifs和ubinize两步打包ubi文件系统 mkfs.ubifs工具 mkfs.ubifs命令用于制作ubifs文件系统&#xff0c;命令示例如下&#xff1a; mkfs.ubifs -x lzo -m 2KiB -e 124KiB -c 3…

FSNotes for Mac v6.7.1中文激活版:强大的笔记管理工具

FSNotes for Mac是一款功能强大的文本处理与笔记管理工具&#xff0c;为Mac用户提供了一个直观、高效的笔记记录和整理平台。 FSNotes for Mac v6.7.1中文激活版下载 FSNotes支持Markdown语法&#xff0c;使用户能够轻松设置笔记格式并添加链接、图像等元素&#xff0c;实现笔记…