- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一些需要缓存的 JObject,我想知道在 CacheManager 中缓存此类数据时的最佳实践是什么?
我很关心
如果我缓存 json string
,我需要在每次读取缓存时解析它。
如果我缓存 JObject
我不知道它将如何序列化到缓存中。可能是一个非紧凑型二进制数组。但是在取回它之后我不需要对它做任何事情。
这就是为什么我在考虑,也许它会更好地序列化 Bson
,或者只是添加另一层序列化?毕竟,我必须在读取缓存时将 Bson
转换为 JObject
,就像我要缓存 json string
一样。
最佳答案
我pursued this on github长话短说,我最终在检索时缓存了 json string
和 JObject.Parse
。
要问的相关问题是“您正在使用分布式缓存吗?”我是,而且我也在使用本地缓存。
如果我只使用本地缓存,我可以将 JObject
直接放入缓存中,因为不涉及序列化。
然而,当使用分布式缓存时,您实际上不能将 JObject
放入其中,因为该类型不可序列化(没有 SerializableAttribute
)。
当同时使用两者时,您会受到两者要求的限制,这意味着您只能缓存 json string
并在检索时解析它们。
可以使用 CacheManager.Serialization.Json 包来替换序列化机制。但我宁愿在我的场景中保留二进制序列化器,因为我主要缓存 POCO,而二进制序列化器通常应该更高效。我不认为使用它会给我带来任何性能提升,因为内置的序列化程序无论如何都必须在内部将 JObjects 转换为 json。
结论:通过保留二进制序列化程序并将 json 缓存为 string
,我不会损失性能,但我必须添加一些 JObject.Parse(。 .)
从缓存中读取时到处都是。通过适当的封装,这不是问题。
关于c# - 我应该在 ICacheManager 中缓存 json、Bson 还是 JObject?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46545486/
我在谷歌搜索但我没有找到解决该错误的解决方案。我正在尝试创建缓存管理器的实例但出现异常。我使用了 Enterprise library 5.0。我找不到我的问题。我完全被困住了。任何提示都是可观的。
这是给 CacheManager 的Michah Conrad 的图书馆。在他的示例中,他使用 CacheFactory.Build 方法创建了一个缓存管理器,如下所示: public class W
我似乎在这里碰壁了,希望能得到任何能够解决这个问题的人的帮助。我不确定下面的错误消息是什么意思。我正在使用企业模式服务的缓存 block ,但我一直遇到以下问题。我下载了最新版本并尝试逐步解决该问题,
我有一些需要缓存的 JObject,我想知道在 CacheManager 中缓存此类数据时的最佳实践是什么? 我很关心 在缓存中使用相当少量的内存。 不要进行不必要的序列化以避免无用的处理。 如果我缓
使用 .net 3.5 和企业库 5.0。 根据我的研究,我在这里发现了一个类似的问题: Activation error occured while trying to get instance o
我是一名优秀的程序员,十分优秀!