zoukankan      html  css  js  c++  java
  • Redis实现分表操作id唯一

    业务场景

    大型企业级应用中,分表操作是基本操作,使用多张表存储同类型数据,但是对应的主键id必须保证统一性,不能重复。Oracle数据库具有sequence设定,可以解决该问题,但是mysql数据库并不具有类似的机制,那么如何解决?

    解决方案

    • 设置数值数据增加指定范围的值
    incr key
    incrby key increment
    incrbyfloat key increment
    
    • 设置数值数据减少指定范围的值
    decr key
    decrby key increment
    

    string作为数值操作

    • string在redis内部存储默认就是一个字符串,当遇到增减类操作incr,decr时会转成数值型进行计算
    • redis所有的操作都是原子性的,采用单线程处理所有业务,命令是一个一个执行的,因此无需考虑并发带来的数据影响.
    • 注意: 按数值进行操作的数据,如果原始数据不能转成数值,或超越了redis数值上限范围,将报错。9223372036854775807 (java中long型数据最大值,Long.MAX_VALUE)

  • 相关阅读:
    Win7下使用TortoiseGit设置保存密码
    MacOS软件清单
    ubuntu安装python
    Mac使用SSH连接远程服务器
    CentOS常用命令
    Docker追加容器端口映射
    Docker安装CentOS7
    Windows操作路由表
    Docker部署MySQL8并实现远程连接
    Qt——容器类(译)
  • 原文地址:https://www.cnblogs.com/ifme/p/12301172.html
Copyright © 2011-2022 走看看