“ur:”代表什么?

我正在玩ServiceStack Redis示例。似乎是一个命名约定,数据库中的许多键都以“urn:”开头。

通过调用somePoco.CreateUrn();-> "urn:somePoco:123",它将在数据库中创建密钥。

它的优点是RedisTypedClient可以在以下代码中将其重新变成灰色:
例如

var redisSomePoco = redis.As<SomePoco>();
var somePoco = redisSomePoco.GetById("123"); //it knows I want value of key "urn:somePoco:123"
redisSomePoco.Store(somePoco); //it knows how to store my poco value in key "urn:somePoco:123"
//"{\"Id\":123,\"DisplayName\":\"Michael\"}"

我的理解正确吗?还是我什至接近?

最佳答案

它代表Uniform Resource Name

由于Redis中没有 namespace 或架构的概念,因此我们使用具有以下格式的标准密钥:

urn:{TypeName}:{Id}

要使用ServiceStack's C# RedisClient类型API 唯一地存储和标识Redis中存储的任何POCO实例。

RedisAdmin UI还利用此约定来提供分层的树状结构来访问数据,尽管Redis中并没有这种概念。

08-27 23:14