7

「urn:」は何の略ですか?

ServiceStackRedisの例で遊んでいます。これは命名規則のようで、データベース内の多くのキーは「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\"}"

私の理解は正しいですか?それとも私は近くにいますか?

4

1 に答える 1

11

これは、 Uniform Resource Nameの略です。

Redis には名前空間やスキーマの概念がないため、次の形式の完全修飾キーを使用します。

urn:{TypeName}:{Id}

ServiceStack の C# RedisClient のTyped APIを使用して、Redis に保存されている POCO インスタンスを一意に保存および識別します。

RedisAdmin UIもこの規則を利用して、Redis にはそのような概念がないにもかかわらず、データにアクセスするための階層的なツリーのような構造を提供します。

于 2012-08-30T00:55:21.750 に答える