ServiceStack Redis什么是urn

Tom*_*Tom 7 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\"}"
Run Code Online (Sandbox Code Playgroud)

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

myt*_*thz 11

它代表统一资源名称.

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

urn:{TypeName}:{Id}
Run Code Online (Sandbox Code Playgroud)

为了唯一保存,并确定使用存储在Redis的任何POCO实例类型化APIServiceStack的C#RedisClient.

RedisAdmin UI也需要本公约的优势,提供一个分层的树状结构,尽管他们是在Redis的没有这样的概念来访问您的数据.