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
- “zhangsan”
- “12345”
MGET:一次获取多个字符串键的值 与mset命令类似,MGET命令也可以将执行多个获取操作所需的网络通信次数从原来的N次降低至只需一次。
原文:与MSET命令类似,MGET命令也可以将执行多个获取操作所需的网络通信次数从原来的N次降低至只需一次,从而有效地提高程序的运行效率。
** MSETNX:只在键不存在的情况下,一次为多个字符串键设置值**
-
127.0.0.1:6379> msetnx message “lisi” nerber 123 wangwu “hh” bb “aa”
(integer) 0msetnx:只有键不存在的情况下,一次为多个字符串键设置值
原文:MSETNX:只在键不存在的情况下,一次为多个字符串键设置值
通过使用相同的格式去命名逻辑上相关联的键,我们可以让程序产生的数据结构变得更容易被理解,并且在需要的时候,还可以根据特定的键名格式在数据库里面以模式匹配的方式查找特定的键。
原文:通过使用相同的格式去命名逻辑上相关联的键,我们可以让程序产生的数据结构变得更容易被理解,并且在需要的时候,还可以根据特定的键名格式在数据库里面以模式匹配的方式查找指定的键。
** STRLEN:获取字符串值的字节长度**
-
127.0.0.1:6379> strlen message
(integer) 8strlen:获取字符串值的字节长度。
原文: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) 100incrby、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) 100INCR、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编辑器的一些配置࿰…...
【intro】图卷积神经网络(GCN)
本文为Graph Neural Networks(GNN)学习笔记-CSDN博客后续,内容为GCN论文阅读,相关博客阅读,kaggle上相关的数据集/文章/代码的阅读三部分,考虑到本人是GNN新手,会先从相关博客开始,进一步看kaggleÿ…...
【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(简体中文环境)等;由记录组成(典型的是每行一条记录)每条记录被分隔符(英语ÿ…...
微信小程序开发秘籍:玩转麦克风录音与音频上传【代码示例】
微信小程序开发秘籍:玩转麦克风录音与音频上传【代码示例】 基本概念麦克风录音音频上传 实战演练1. 初始化录音功能2. 设计录音界面3. 实现音频上传安全性与性能优化 结语与讨论 在移动互联网时代,语音交互已成为提升用户体验的重要手段之一。微信小程序…...
spring的核心详解
Spring 核心详解 文章目录 Spring 核心详解前言什么是springspring的优点spring用到了哪些设计模式 什么是AOPAOP的实现方式静态代理动态代理 什么是IOCIOC的好处什么是依赖注入 前言 什么是spring Spring是一个开源的Java/Java EE全功能栈(full-stack)…...
一、写给Android开发者之harmony入门
一、创建新项目 对比 android-studio:ability类似安卓activity ability分为两种类型(Stage模型) UIAbility和Extensionability(提供系统服务和后台任务) 启动模式 1、 singleton启动模式:单例 2、 multiton启动模式࿱…...
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排序默认最大…...
我独自升级崛起下载教程 我独自升级崛起一键下载
动作RPG游戏基于广大喜爱的动画和在线漫画《我独自升级崛起》在5月8日,这款新的游戏首次在全球亮相,意在给那些对游戏情有独钟的玩家带来更加丰富和多种多样的游戏体验。这个网络武侠题材的游戏设计非常具有创意,其主要故事围绕着“独孤求败”…...
C语言实验避坑指南:头歌平台常见错误分析与调试技巧
C语言实验避坑指南:头歌平台常见错误分析与调试技巧 在头歌平台完成C语言实验时,许多初学者都会遇到各种令人头疼的错误。这些错误不仅影响实验进度,还可能打击学习信心。本文将深入分析头歌平台上最常见的三类错误——编译错误、逻辑错误和运…...
机械臂视觉抓取(三):从手眼标定到实际抓取
机械臂视觉抓取:从手眼标定到实际抓取 上一篇文章记录了机械臂手眼标定的两种方式(注意都是基于单相机),以眼在手上为例,可以通过棋盘格标定出相机坐标系和夹爪坐标系的关系。标定出这个关系,怎么通过视觉指…...
小白也能搞定!通义千问1.8B轻量化部署实战:从安装到对话全流程
小白也能搞定!通义千问1.8B轻量化部署实战:从安装到对话全流程 想在自己的电脑上跑一个智能对话模型,但又担心配置复杂、硬件要求高?别担心,今天我们就来搞定通义千问1.8B这个轻量级模型的完整部署流程。这个经过优化…...
VibeVoice-TTS-Web-UI应用案例:自动生成教育课件、游戏NPC配音
VibeVoice-TTS-Web-UI应用案例:自动生成教育课件、游戏NPC配音 1. 引言:语音合成技术的场景化突破 在教育领域,一位老师需要为30分钟的课程准备配音解说;在游戏开发中,团队要为上百个NPC角色录制个性化对话。这些场景…...
如何用ESP32-S3开发板打造你的专属AI语音助手?星智立方开发板深度体验
如何用ESP32-S3开发板打造你的专属AI语音助手?星智立方开发板深度体验 【免费下载链接】xiaozhi-esp32 Build your own AI friend 项目地址: https://gitcode.com/GitHub_Trending/xia/xiaozhi-esp32 想象一下,你只需要对一个小巧的设备说句话&am…...
医生必看!深度学习合成的医学影像靠谱吗?我们实测了3种常见场景
深度学习合成医学影像的临床可靠性评估:医生必备的3大实战指南 当第一次在屏幕上看到由AI生成的脑部MRI影像时,张医生几乎无法相信自己的眼睛——那些灰白质交界处的细节、脑室边缘的清晰度,与真实扫描结果几乎无异。作为神经内科主任医师&am…...
coze-loop真实案例:优化前后代码对比,效果惊艳!
coze-loop真实案例:优化前后代码对比,效果惊艳! 1. 从低效到优雅:一段Python代码的蜕变之旅 最近在开发一个数据处理脚本时,我遇到了性能瓶颈。原始代码虽然功能正确,但处理10万条数据需要近30分钟。抱着…...
3月23日直播丨HiF8高效数据格式及其应用
Ascend 950支持HiFloat8数据格式,这是面向AI大模型训推的新一代8位浮点数据格式。创新采用动态点位域与即时可译变长前缀码设计,突破传统FP8精度与动态范围瓶颈,阶码范围接近16位浮点,大幅减少数值溢出。 本议题聚焦HiFloat8数据…...
cv_resnet101_face-detection_cvpr22papermogface 实战:集成OpenCV实现实时视频流人脸检测
cv_resnet101_face-detection_cvpr22papermogface 实战:集成OpenCV实现实时视频流人脸检测 1. 引言 你有没有想过,那些商场里能统计客流、手机里能自动对焦人脸拍照、甚至一些智能门禁系统能认出你是谁的技术,背后是怎么实现的?…...
Apache Portable Runtime (APR) 项目常见问题解决方案
Apache Portable Runtime (APR) 项目常见问题解决方案 【免费下载链接】apr Apache Apr: 这是一个Apache Apr的文档,用于获取Apache Apr的文档和信息。适合用于需要获取Apache Apr的文档和信息的开发者。特点包括简单易用、高性能和与Apache Apr生态系统的紧密集成。…...
