当前位置: 首页 > 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日,这款新的游戏首次在全球亮相,意在给那些对游戏情有独钟的玩家带来更加丰富和多种多样的游戏体验。这个网络武侠题材的游戏设计非常具有创意,其主要故事围绕着“独孤求败”…...

RS2057XH功能和参数介绍及规格书

RS2057XH 是一款由润石科技(Runic Semiconductor)生产的模拟开关芯片,其主要功能和参数如下: 产品特点: 低电压操作:支持低至1.8V的工作电压,适用于低功耗应用。 高带宽:具有300MHz的…...

ICML 2024有何亮点?9473篇论文投稿,突破历史记录

会议之眼 快讯 2024年5月1日,第42届国际机器学习大会ICML 2024放榜啦!录用率27.5%!ICML 2024的录用结果受到了广泛的关注,本届会议的投稿量达到了9473篇,创下了历史新高,比去年的6538篇增加了近3000篇&…...

U盘提示“被写保护”无法操作处理怎么办?

今天在使用U盘复制拷贝文件时,U盘出现“U盘被写保护”提示,导致U盘明明有空闲内存却无法复制的情况。这种情况很常见,很多人在插入U盘到电脑后,会出现"U盘被写保护"的提示,导致无法进行删除、保存、复制等操…...

算法训练营第二十天 | LeetCode 110平衡二叉树、LeetCode 257 二叉树的所有路径、LeetCode 404 左叶子之和

LeetCode 110 平衡二叉树 递归写法很简单,直接自底向上每个节点判断是否为空,为空说明该层高度为0。不为空用一个int型变量l记录左子树高度(递归调用该函数自身),一个int型变量r记录右子树高度(同样递归调…...

Docker:centos7安装docker

官网:https://www.docker.com/官网 文档地址 - 确认centos7及其以上的版本 查看当前系统版本 cat /etc/redhat-release- 卸载旧版本 依照官网执行 - yum安装gcc相关 yum -y install gccyum -y install gcc-c- 安装需要的软件包 yum install -y yum-utils- 设置s…...

EasyExcel导出工具类

目录 工具类 头部实体类&#xff08;要和工具类在同一个module或项目下&#xff09; 日期转换器 工具类 /*** 导出Excel工具类*/ public class EasyExcelUtil<T> {/*** 单sheet&#xff08;Map写入&#xff09;* param response 响应对象* param headList 头部集合* p…...

【Godot4.2】EasyTreeData通用解析

概述 之前在《【Godot4.2】Tree控件自定义树形数据ETD及其解析》一文中&#xff0c;实现了对带缩进的层级结构文本的解析&#xff0c;并将其用于Tree控件的列表项构造。 不过当时并没有实现专门的类&#xff0c;今天花了一点时间实现了一下。现在可以更方便的构造和解析ETD数…...

力扣每日一题109:有序链表转换二叉搜索树

题目 中等 给定一个单链表的头节点 head &#xff0c;其中的元素 按升序排序 &#xff0c;将其转换为 平衡 二叉搜索树。 示例 1: 输入: head [-10,-3,0,5,9] 输出: [0,-3,9,-10,null,5] 解释: 一个可能的答案是[0&#xff0c;-3,9&#xff0c;-10,null,5]&#xff0c;它…...

企业计算机服务器中了locked勒索病毒怎么处理,locked勒索病毒解密建议

随着互联网技术在企业当中的应用&#xff0c;越来越多的企业利用网络开展各项工作业务&#xff0c;网络为企业提供了极大便利&#xff0c;也大大加快了企业发展步伐&#xff0c;提高了企业生产办公效率。但网络技术的发展也为企业的数据安全带来严重威胁。近期&#xff0c;云天…...

开源推荐榜【MalusAdmin基于 Vue3/TypeScript/NaiveUI 和 NET7 Sqlsugar 开发的后台管理框架】

简介 Malus是海棠的意思&#xff0c;顾名思义&#xff0c;海棠后台管理系统&#xff0c;读音与【马卢斯】相近&#xff0c;也可称作为马卢斯后台管理系统。 基于NET Core | NET7/8 & Sqlsugar | Vue3 | vite4 | TypeScript | NaiveUI 开发的前后端分离式权限管理系统,采用…...

长沙哪里可以做网站/公众号免费推广平台

不容易系列之二 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 41464 Accepted Submission(s): 33164 Problem Description 你活的不容易&#xff0c;我活的不容易&#xff0c;他活的也不容易。不过&#xff0c;如…...

建设部网站社保联网/雏鸟app网站推广

C牛顿迭代法求根分析及代码 代码函数为yax^3 bx^3c*xd 程序结构如上 代码为&#xff1a; #include <iostream> #include <cmath> using namespace std; double hanshu(int a, int b, int c, int d, double x); double K(int a, int b, int c, double x); dou…...

做网站找众展/品牌推广专员

经典励志句子 如果有醒不来的梦&#xff0c;我一定去做如果有醒不来的梦。我一定去做。如果有走不完的路。我一定去走。如果有变不了的爱。我一定去求。如果这辈子失去了你。那么我将连回忆都不再悲伤。有一种相遇可能叫邂逅。可缘于命运。我现在为一能做的就是将回忆永远收藏。…...

如何做好专业类网站/国外免费网站域名服务器

[索引页][源码下载]稳扎稳打Silverlight(14) - 2.0交互之InkPresenter(涂鸦板)作者&#xff1a;webabcd介绍Silverlight 2.0 人机交互&#xff1a;InkPresenter(涂鸦板)InkPresenter - 涂鸦板&#xff0c;也就是在面板上呈现墨迹。InkPresenter 可以包含子控件Cursor - 鼠标移动…...

建设学校网站论文/2022最火营销方案

我知道的有两个方法&#xff1a; 第一种方法是 进入hive&#xff0c;执行 describe extended tablename; 查看表的详细信息。 如果是外部表&#xff0c;在详细信息的最后一行&#xff0c;会输出 tableType:EXTERNAL_TABLE 如果是内部表/管理表&#xff0c;则会显示tableTyp…...

为什么做企业网站/手机网络优化软件

thrift服务端的c语言实现 1.thrift 概念1 thrift是一个软件框架&#xff0c;用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引擎&#xff0c;以构建在 C, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Small…...