当前位置: 首页 > 面试题库 >

如何在Google AppEngine上实现“自动增量”

杜志
2023-03-14
问题内容

我必须以“强单调递增”的方式标记某些东西。可以是发票编号,运输标签编号等。

  1. 一定不能使用两次
  2. 当使用了所有较小的数字(无孔)时,应使用每个数字。

幻想的表达方式:我需要数1,2,3,4 …我可用的空间通常是100.000,而我每天可能需要1000。

我知道这在分布式系统中是一个难题,通常我们对GUID的了解要好得多。但是在这种情况下,出于法律原因,我需要“传统编号”。

可以在Google AppEngine(最好是Python)上实现吗?


问题答案:

如果绝对必须连续增加数字且没有间隔,则需要使用单个实体,您可以在交易中更新该实体以“消费”每个新数字。实际上,您将被限制为每秒生成大约1-5个数字-
听起来很适合您的要求。



 类似资料:
  • 问题内容: 就像在MYSQL中一样,我想要一个递增的ID。 问题答案: MongoDB旨在进行水平扩展。在这种情况下,自动递增将导致id冲突。这就是为什么id看起来更像guid / uuid的原因。

  • 问题内容: 我希望能够以原子方式递增计数器,而我却找不到有关如何执行此操作的参考。 根据评论添加更多信息: 您正在使用GCD吗?不,我没有使用GCD。必须使用队列系统来增加数字似乎过大了。 请 您理解基本的线程安全?是的,否则我不会问原子增量的问题。 这个变量是局部变量吗?没有。 它是实例级别吗? 是的,它应该是单个实例的一部分。 我想做这样的事情: 问题答案: 来自低级并发API: OSAtom

  • 我写了一个基于Spring-boot、tomcat、freemarker的项目,我运行成功了,但每当我修改一些模板和java类时,我必须重新启动服务器或使用Intellij上的“重新加载更改的类”菜单才能使更改生效。这浪费了很多时间! 然后我尝试使用springloaded如官方所说: 然后我重新运行服务器,但没有按预期工作!我仍然需要重新启动服务器后,任何模板或类的变化。

  • 问题内容: 我刚刚使用MySQL查询浏览器创建了一个新表,并注意到在“自动增量列”下有一个勾号。这是如何运作的? 以编程方式添加到数据库时,是否仅添加一个数字,然后数据库会自动将该数字递增? 每次有新用户在我的网站上注册时,我都希望他们的客户ID(仅整数)自动递增,因此我不必尝试随机生成一个唯一的数字。 可以简单地完成吗? 谢谢! 问题答案: 以编程方式添加到数据库时,是否仅添加一个数字,然后数据

  • 我们的初创公司是使用Firebase和Google Cloud的“云原生”。我们正在研究事件驱动设计,但是我很难将这个概念与Firebase或GCP上的特定服务相匹配。 例如:用户通过移动应用程序创建合同草案(Firestore文档)。我们需要触发以下操作: 通过电子邮件和推送通知通知合同中的其他用户 写入通知表,以便用户在应用程序中有一个“收件箱”,并将其标记为已读或已删除 生成一个将在一个月内

  • 我在运行下面给出的代码时遇到了一些问题。我得到以下异常。当我尝试[CrudRepository for Spring Data][1]的示例代码时。 我有一个接口: VO类: 上下文初始化过程中遇到异常-取消刷新尝试:org.springframework.beans.factory.unsatisfieddependencyexception:创建名为“hello cntrl”的bean时出错: