Redis实战中如何实现9个节点间的全局唯一ID生成?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1189个文字,预计阅读时间需要5分钟。
发布优惠劵的时间,每个店铺都可以发布优惠劵。当用户抢购时,优惠劵表中的id如果使用数据库自增长ID,可能会出现以下问题:+1:id的规则太明确,容易被刷。+2:当数据量很大的情况下。
发布优惠券的时候,每个店铺都可以发布优惠券,当用户抢购的时候,优惠券表中的id如果使用数据库的自增长ID会存在以下问题:
1:id的规律太明显,容易被刷
2:当数据量很大的时候,会受到单表数据的限制
缺点场景分析:
id规律场景:如果我们的id具有太明显的规则,用户或者说商业对手很容易猜测出来我们的一些敏感信息,比如商城在一天时间内,卖出了多少单,这明显不合适。
单表限制:随着我们商城规模越来越大,mysql的单表的容量不宜超过500W,数据量过大之后,我们要进行拆库拆表,但拆分表了之后,他们从逻辑上讲他们是同一张表,所以他们的id是不能一样的, 于是乎我们需要保证id的唯一性。
本文共计1189个文字,预计阅读时间需要5分钟。
发布优惠劵的时间,每个店铺都可以发布优惠劵。当用户抢购时,优惠劵表中的id如果使用数据库自增长ID,可能会出现以下问题:+1:id的规则太明确,容易被刷。+2:当数据量很大的情况下。
发布优惠券的时候,每个店铺都可以发布优惠券,当用户抢购的时候,优惠券表中的id如果使用数据库的自增长ID会存在以下问题:
1:id的规律太明显,容易被刷
2:当数据量很大的时候,会受到单表数据的限制
缺点场景分析:
id规律场景:如果我们的id具有太明显的规则,用户或者说商业对手很容易猜测出来我们的一些敏感信息,比如商城在一天时间内,卖出了多少单,这明显不合适。
单表限制:随着我们商城规模越来越大,mysql的单表的容量不宜超过500W,数据量过大之后,我们要进行拆库拆表,但拆分表了之后,他们从逻辑上讲他们是同一张表,所以他们的id是不能一样的, 于是乎我们需要保证id的唯一性。

