mam*_*don 2 c# random store azure
虽然这看起来很简单,但我无法想到从Azure表存储中获取随机行的恒定时间方法.
我有一些元素,它们有一个base64字符串作为它们的行键(它本质上是一个GUID)和一个单独的分区键(没有足够的数据来证明多个分区).
现在,我可以想到选择一个随机元素的最好的事情是保持一行并得到一个"随机"行我只是运行一个查询行,该行大于我正在持有的当前行.冲洗并重复.
有什么想法吗?
这是行元素,如果它有帮助:
public class PhoneEntity : TableEntity
{
private PhoneID _id;
private Uri _pushUri;
public Uri PushUri
{
get { return _pushUri; }
set { _pushUri = value; }
}
public PhoneID Id
{
get { return _id; }
set { _id = value; }
}
public PhoneEntity(PhoneID id, Uri pushUri)
{
Id = id;
PushUri = pushUri;
this.PartitionKey = "PhonePartition";
this.RowKey = id.Id64;
}
}
Run Code Online (Sandbox Code Playgroud)
您可以简单地创建一个随机行键并查询大于它的第一行(.Take(1)).如果找不到行,则随机行键太大,因此请使用其他随机键重试.
假设您使用GUID时行键分布良好,则重试不应经常发生.
| 归档时间: |
|
| 查看次数: |
1026 次 |
| 最近记录: |