android - 多用户同时间离线不联网的状态下生成公用同一个表的唯一ID

 可怜的绷带_565 发布于 2022-11-07 16:28

可知的用户资料只有邮箱,由于app可以离线使用,所以想要为他新建的内容加一个唯一的索引,用于同步,他可能同一个帐号在不同的设备上离线增加内容。

这个唯一的索引,最好是个数字。

目前是用时间戳加随机数以及email的位数,但生成出来的数字太长了,一定要用long储存,十分不便,大家有无更好的办法,尽量不重复,越短越好。

如果数字是在无法控制在 (int)2147483647 的范围内,用字符串也可以,尽量的短就好了。

6 个回答
  • 如果单纯求简求短,可以做个一对一映射表:(int uid, varchar email) uid范围为(int)2147483647以内

    2022-11-12 01:39 回答
  • 你可以把他们的信息组合起来,然后MD5加密一下,然后将MD5出来的32位字符串转换成10进制的数字啊!这样子数值是唯一的,而且长度也是可控制的。

    2022-11-12 01:39 回答
  • for iOS:

    [[NSProcessInfo processInfo] globallyUniqueString]

    2022-11-12 01:39 回答
  • 为什么不直接根据邮箱生成一个自增的uid呢?

    2022-11-12 01:39 回答
  • 不用long存储用字符串更耗空间吧,64位才8个byte 1.时间戳可以定义成一个过去的时间到现在的毫秒数,例如2010年,这样位数不多,48位足够 2.剩余几位用每个机器编个号,每个进程/线程编个号,应该不会超过64位

    2022-11-12 01:41 回答
  • java: UUID.randomUUID().toString();

    2022-11-12 01:41 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有