c# - ServiceStack Redis 什么是 urn

标签 c# redis servicestack

“瓮:”代表什么?

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

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

而且它的好处是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# RedisClientTyped API 唯一地存储和识别存储在Redis 中的任何POCO 实例.

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

关于c# - ServiceStack Redis 什么是 urn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12188378/

相关文章:

c# - 从 C# 设置非托管 C dll 的公共(public)字段

redis - HiRedis::如何使用 LPUSH 在 Redis 列表中插入一个空字符串

ServiceStack:为什么我的调用没有解析为正确的路由?

redis - ServiceStack.Redis 无法读取传输 - BasicRedisClientManager

c# - 为什么在C#中调用Grand parent虚函数

c# - 如何在css中创建三列

node.js - 在 socket.io 中使用 RedisStore 的示例

python - 为应用程序编写单元测试的模拟 redis

soap - XSD 中缺少响应和 DTO 对象

c# - 针对格式错误的 JSON 的自定义 JSON 反序列化器