7

“瓮:”代表什么?

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

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

它的优点是 RedisTypedClient 可以在以下代码中对其进行 regonize:例如

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\"}"

我的理解正确吗?或者我什至接近?

4

1 回答 1

11

它代表统一资源名称

由于 Redis 中没有命名空间或模式的概念,我们使用具有以下格式的完全限定键:

urn:{TypeName}:{Id}

使用ServiceStack 的 C# RedisClientTyped API唯一存储和标识存储在 Redis 中的任何 POCO 实例。

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

于 2012-08-30T00:55:21.750 回答