ServiceStack Redis什么是urn

时间:2012-08-30 00:34:26

标签: c# redis servicestack

“urn:”代表什么?

我正在使用ServiceStack Redis示例。它似乎是一个命名约定,db中的许多键以“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\"}"

我的理解是否正确?或者我甚至关闭?

1 个答案:

答案 0 :(得分:11)

代表Uniform Resource Name

由于Redis中没有名称空间或模式的概念,我们使用格式为的完全限定密钥:

urn:{TypeName}:{Id}

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

RedisAdmin UI还利用此约定提供了一个分层的树状结构来访问您的数据,尽管它们在Redis中不是这样的概念。