是否有可能在Azure表中重复一个RowKey,这个表是这样构造的?
string.Format("{0:d19}", DateTime.MaxValue.Ticks - DateTime.UtcNow.Ticks)
这也是一样的问题:
在我们为Ticks获取新值之前,我的webrole会创建两个记录吗?
我想以反向时间顺序返回实体。预计此表不会不断添加新实体,但希望会有许多插入事务。
好的,这是我遇到的解决方案感谢Mark Seeman:
string.Format(“{0:d19} + {1}”,DateTime.MaxValue.Ticks - DateTime.UtcNow.Ticks,Guid.NewGuid()。ToString(“N”))
使用Guid,我确信不会重复该rowkey。
答案 0 :(得分:4)
当并发写入次数接近无穷大时,获得多个相同rowkey的概率 1 :)
说真的,Tick是100纳秒。现代处理器的运行速度是每个Tick有数百个CPU周期,因此相同的Ticks将会发生。
事实上,我昨天刚与我的一位客户交谈。他有这个确切的问题,并且不得不围绕它来确保它的独特性。
考虑引入一个真正独特的组件(例如GUID)作为(可排序)组合的一部分。