MySQL 数据类型

各位老铁们好,相信很多人对mysql中UUID产生的数据,用什么数据类型存储都不是特别的了解,因此呢,今天就来为大家分享下关于mysql中UUID产生的数据,用什么数据类型存储以及mysql不建议用uuid的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

本文目录

  1. mysql如何自动生成mainkey
  2. mysql中UUID产生的数据,用什么数据类型存储

mysql如何自动生成mainkey

利用uuid函数生成唯一且不规则的主键id

mysql中UUID产生的数据,用什么数据类型存储

因为还没有写入MySQL,所以你在把数据写入Redis时,需要设计一个key来唯一标识一条数据.

MySQL表中应该设置一个唯一字段用于存储这个key.

这个key可以是一个由程序即时生成的随机唯一值,比如可以取Linux提供的uuid:

/proc/sys/kernel/random/uuid

取到后用sadd添加到Redis的

集合(元素唯一)

里.

添加成功,表示集合中没有这个uuid,在集合里是唯一的.

然后再把这个uuid用lpush添加到Redis的

列表(元素有序)

里.

lpush入队后,当列表的长度大于等于N(自定义数值)时,Redis用lrange取出列表里的元素并

批量写入

到MySQL,写入成功后用ltrim删掉列表中已经处理的元素.

优化就体现在:原来的即时写入转变为批量写入.

风险是:Redis意外崩溃有可能丢数据.

比如你的Redis配置了appendfsynceverysec

那就有丢失前1秒数据的风险.

文章分享结束,mysql中UUID产生的数据,用什么数据类型存储和mysql不建议用uuid的答案你都知道了吗?欢迎再次光临本站哦!

MySQL中存储是时间类型,根据月来查询数据