前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【地铁上的Redis与C#】数据类型--string类型数据的扩展操作

【地铁上的Redis与C#】数据类型--string类型数据的扩展操作

作者头像
喵叔
发布2023-01-08 09:27:37
6410
发布2023-01-08 09:27:37
举报
文章被收录于专栏:喵叔's 专栏喵叔's 专栏

本篇文章我们来讲一下string类型数据的扩展操作,我们先来看一下假设场景。

场景

在大型企业级应用中,分表操作是基本操作,也是常见操作,用多张表存储同类型的数据,那么这里就存在一个问题,主键必须唯一不能重复,虽然对于Oracle这种大型/超大型数据库来说都具有相关的机制,但是MySQL却并不具备类似的机制。如果应用的数据库是MySQL的话就很棘手,这时我们就可以使用Redis来解决。

Redis如何解决

Redis解决前述问题有两种方法:使用incr指令或使用decr指令。

incr指令

incr指令的作用是数值数据增加指定范围的值,常用指令有三种,分别是incrincrby以及incrbyfloat

  1. incr 指令,语法incr key,该指令每执行一次,key对应的value就会加1,例如我们要给id加1,那么我们可以这么做,incr id
  2. incrby指令,语法incrby key addnum,该指令每执行一次,key对应的值增加addnun,例如我们要给id增加5,那么我们可以这么做incrby id 5
  3. incrbyfloat指令,语法incrbyfloat key addfloatnum,该指令每执行一次,key对应的值增加addfloatnum,其中addfloatnum是float类型,例如我们要给id增加1.5,我们可以这么做incrbyfloat id 1.5
decr指令

decr的作用是数值数据减少指定范围的值,常用指令有三种,分别是decrdecrby

  1. decr指令,语法decr key,该指令每执行一次,key对应的value就会减1,例如给num减1,指令如下decr num
  2. decrby指令,语法decrby key subnum,该指令没执行一次,key对应的value的值减去subnum,例如num需要减去12,指令如下decrby num 12
string作为数值操作

对于string类型的数据作为数值进行操作需要注意以下三点:

  1. string在Redis内部存储默类型认就是一个字符串。当遇到增减类操作时会转换成数值进行计算;
  2. Redis所有的操作都是原子性的,采用单线程处理所有业务,命令是一个一个执行的,因此无需考虑并发对数据造成的影响;
  3. 如果按数值进行操作,那么原始数据在不能转换成数值或者超过了Redis数值的上线的话,将会报错。

Tip:

  1. Redis 用于控制数据库表主键Id,为数据库表逐渐提供生成策略,保障数据库表的主键唯一性;
  2. 此方案适用于所有数据库,且支持数据库集群。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-01-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 场景
  • Redis如何解决
    • incr指令
      • decr指令
      • string作为数值操作
      相关产品与服务
      云数据库 Redis
      腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档