相似的键名会影响内存缓存性能吗
do similar key names affect memcache performance
我们有大约 50 万个密钥由一个内存缓存服务器维护。大约 499k 个密钥存储在一个 Slab 中 [它始终是 Slab #8]。
键名的格式如下:BarData:Currency[0099]YYYY-MM-DD_HH:MM:SS
Currency
是 23 个不同表达式之一 [$EURUSD, $GBPUSD, ...]
[]
包含一个 4 位数字,在 0001、0003、0005、0010、0015、0030、0060、0090 和 0120 之间交替
- 日期时间格式非常相似,因为数据是按升序连续日期时间段保存的。
这会影响访问内存缓存键时的性能吗?我们是否应该考虑更改键名以便将其分布在更多 Slab 上,或者我们可以保持原样吗?
根据这个答案 memcache 将相同大小的项目存储在同一个 Slab 中。在我的例子中,散列键名不会改变 Slab,因为所有项目都具有相同的大小。
我们有大约 50 万个密钥由一个内存缓存服务器维护。大约 499k 个密钥存储在一个 Slab 中 [它始终是 Slab #8]。
键名的格式如下:BarData:Currency[0099]YYYY-MM-DD_HH:MM:SS
Currency
是 23 个不同表达式之一 [$EURUSD, $GBPUSD, ...][]
包含一个 4 位数字,在 0001、0003、0005、0010、0015、0030、0060、0090 和 0120 之间交替- 日期时间格式非常相似,因为数据是按升序连续日期时间段保存的。
这会影响访问内存缓存键时的性能吗?我们是否应该考虑更改键名以便将其分布在更多 Slab 上,或者我们可以保持原样吗?
根据这个答案 memcache 将相同大小的项目存储在同一个 Slab 中。在我的例子中,散列键名不会改变 Slab,因为所有项目都具有相同的大小。