5

我在我的本地机器上试验 Redis。到目前为止,我已经让它工作了,尽管速度很慢。

我有一个大约 14,000 个对象的数组,每次检索它们只需要 3 秒多一点,这对于生产目的来说显然太慢了。

我有一种感觉,大部分时间都花在反序列化对象上,但我不确定是否有什么可以纠正的。

我可以在不序列化它们的情况下首先存储它们(如果有意义的话)?如果做不到这一点,我能做些什么来加快反序列化过程吗?我已经实现了 ISerialization,但它似乎没有任何区别。

使用 Redis 的 ServiceStack 改编供参考。

4

1 回答 1

3

除非你测量,否则你不会知道。

[资料来源:我的一位明智的开发经理,大约在 1992 年!]

在指责所谓的罪魁祸首之前,您应该首先分析/测量您的代码,以确定您的性能问题究竟出在哪里。然后实施修复并重新测量。重复直到你的表现令人满意。

有许多分析器可供使用,包括Visual Studio 的内置分析器,其他可作为插件使用(例如RedGate 的 Ants 分析器JetBrains 的 dotTraceTelerik 的 JustTrace等)

或者,尝试使用Trace.WriteLine(...)Stopwatch检测您的代码,以计算出执行数据访问操作需要多长时间以及反序列化数据需要多长时间。

FWIW,如果最近构建的 Redis 运行速度与您在 Windows 或任何其他操作系统上看到的一样慢,我会感到惊讶。哎呀,即使是 SQL Server Express (2012) 也可以在不到 1 秒的时间内返回 199000 行并将它们存储在 CSV 中: 在此处输入图像描述

于 2013-04-27T00:42:44.240 回答