我是 Redis 的新手,我只是在尝试缓存一些数据,看看内存使用/性能与 Memcached 等其他选项相比如何。我通过IRedisClient使用 ServiceStack.Redis 客户端库
我一直在测试 Redis,25k 键/值对象正在推动大约 250MB 的内存,以及 100MB 的 dump.rdb 文件。我需要缓存比这更多的东西,并且如果可能的话,我希望减少内存消耗。我最好的猜测是每个缓存项的文本(JSON blob)大小约为 4k,但如果我的基本数学是正确的,那么从内存占用的角度来看,每个项目在 Redis 中至少消耗大约 10k。转储大小和内存大小之间的巨大差异让我有点担心。
我现在也在 64 位 VM 上运行,我知道与 32 位相比浪费了很多额外的空间,所以我也会研究一下。看起来 redis 需要 2 倍于每个指针的内存(每个缓存的键/值?)。这可能是 2.5 倍磁盘:内存比率的来源吗?
我知道我可以自己编写代码来处理进出 Redis 的数据压缩/解压缩,但只是好奇是否有某种方法可以配置客户端库以执行与说StreamExtensions类似的操作。
使用模式很重,写入不频繁,和/或批量缓存刷新写入。
无论如何,寻找有关如何为给定内存量获取更多缓存项的任何建议。