数据类型-数值增减操作| 学习笔记

简介: 快速学习数据类型-数值增减操作

开发者学堂课程【Redis 入门到精通(基础篇)数据类型-数值增减操作】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/764/detail/13373


数据类型-数值增减操作

 

String 类型数据的扩展操作

业务场景

大型企业级应用中,分表操作是基本操作,使用多张表存储同类型数据,但是对应的主键id必须保证统一性,不能重复。

Orade 数据库具有 sequence 设定,可以解决该问题,但是 MySQL 数据库并不具有类似的机制,那么如何解决?

首先讨论一个企业问题,一张表上保存的数据不能让他无限制的扩张,要有一定的限度,因为会影响操作效率,

这个时候要做的就是去进行切割分离,也就是通俗的分库分表,先不考虑分库的问题,现在考虑分表,表有了,表里面的字节是一个一个递增的,如果要分到别的表里面,如果每个表控制自己的字增是会出问题的,也就是重复性的问题,一旦重复了,会很麻烦,主键重复了那还叫主键吗?

于是我们就要解决主键重复的问题,在 Orade 数据库中能做到,有序列的机制,可以解决,而 mysql 里面就无法完成,

这时 redis 就可以帮我们去做,我们把一张表分成若干张表,我们此时需要保证的就是所有的id都不重复,id是由数据库控制的,如果此时我们用自己来控制,那么就要用到 redis。

image.png

解决方案:

设置数值数据增加指定范围的值

Inor key

Incrby key increament

Incrbyfloat key increament

设置数值减少指定范围的值

Decr key

Decrby key increament

可以对字符串进行操作,如果是纯数字可以使用加一减一,首先设定一个数值,set num 1,然后 incr num,回车,然后 get num,回车,incr num,回车,incr num,然后会发现一直在加一,如果使用decr num,那么就会减一,对这个值进行增减,一次增减一个单位。

这就是 incr 跟 decr,可以对一个字符串进行增减,如果是纯数字就可以每次增减一;那么如果是 incrby,意思就是说,增加一个值通过我们给定的一个值,通俗的讲就是,加我们指定的值,输入就是 incrby num 10,就会加上10,相应的减法就是 decrby num 10。

那么 incrbyfloat 的意思是加上带有小数位的数字,如果说没有输入float那么会显示 error,也就是说无法加上,incrby 加的整数,这就是操作所使用的一些命令。

这里要注意的是,后面跟的数字可以是正数,也可以是负数,所有使用 incrby 的时候跟一个负数会呈现出减少的效果。

string 作为数值操作
string 在 redis 内部存储默认就是一个字符串,当遇到增减类操作 incr、decr 时会转成数值型进行计算。

redis 所有的操作都是原子性的,采用单线程处理所有业务,命令是一个一个执行的,因此无需考虑并发带来的数据影响。
注意:

按数值进行操作的数据,如果原始数据不能转成数值,或超越了redis数值上限范围,将报错。

相关文章
|
3天前
|
数据采集 人工智能 安全
|
12天前
|
云安全 监控 安全
|
4天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1064 151
|
4天前
|
编解码 人工智能 机器人
通义万相2.6,模型使用指南
智能分镜 | 多镜头叙事 | 支持15秒视频生成 | 高品质声音生成 | 多人稳定对话
|
17天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1739 9
|
9天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
685 152
|
11天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
653 12
|
6天前
|
SQL 自然语言处理 调度
Agent Skills 的一次工程实践
**本文采用 Agent Skills 实现整体智能体**,开发框架采用 AgentScope,模型使用 **qwen3-max**。Agent Skills 是 Anthropic 新推出的一种有别于mcp server的一种开发方式,用于为 AI **引入可共享的专业技能**。经验封装到**可发现、可复用的能力单元**中,每个技能以文件夹形式存在,包含特定任务的指导性说明(SKILL.md 文件)、脚本代码和资源等 。大模型可以根据需要动态加载这些技能,从而扩展自身的功能。目前不少国内外的一些框架也开始支持此种的开发方式,详细介绍如下。
413 4