max*_*axp 5 c# redis servicestack
我正在我的本地机器上试验Redis.到目前为止,我已经让它工作得很慢.
我有一个大约14,000个对象的数组,每次检索它们只需要3秒钟,这对于生产来说显然太慢了.
我有一种感觉,大部分时间花在对对象进行反序列化,但我不确定我是否可以采取任何措施来纠正这个问题.
我可以将它们存储在第一位而不将它们序列化(如果这有意义的话)?如果做不到这一点,我能做些什么来加速反序列化过程?我已经实现了ISerialization但它似乎没有任何区别.
供我参考使用Redis的ServiceStack改编.
除非你测量,否则你不会知道。
[资料来源:我的一位明智的开发经理,大约 1992 年!]
在指责所谓的罪魁祸首之前,您应该首先分析/测量您的代码,以确定性能问题到底出在哪里。然后实施修复并重新测量。重复直到您的表现满意为止。
有许多分析器可供使用,包括Visual Studio 的内置分析器,其他分析器可作为插件使用(例如RedGate 的 Ants 分析器、JetBrains 的 dotTrace或Telerik 的 JustTrace等)
或者,尝试使用Trace.WriteLine(...)和Stopwatch来检测您的代码,以便计算出执行数据访问操作需要多长时间以及反序列化数据需要多长时间。
FWIW,如果最近版本的 Redis 运行速度像您在 Windows 或任何其他操作系统上看到的那么慢,我会感到惊讶。哎呀,即使是 SQL Server Express (2012) 也可以在不到 1 秒的时间内返回 199000 行并将它们存储在 CSV 中:
