0

memcache 有这样的问题吗?

1. GET LIST OF KEYS
2. FOR EACH KEY IN LIST OF KEYS
   - GET DATA

我预计密钥列表的长度约为 1000 左右。

如果这很糟糕,我想知道是否有更好的方法来做到这一点?我认为 memcache 可能足够快,而这样的 O(n) 查询可能不那么重要。例如,我永远不会在 MySQL 中这样做。

谢谢。

4

1 回答 1

2

这将比它需要的要慢,因为每个请求在发送之前都会等待前一个请求完成。如果内存缓存服务器有任何延迟,这将很快增加:如果只有 100uS 的延迟(典型的以太网往返时间),这 1000 次查找将需要十分之一秒,这在许多应用程序。

这样做的正确方法是发出批处理请求:同时向服务器发送许多请求,然后接收所有响应,这样您就不会重复受到延迟惩罚。

python-memcache 模块具有get_multi为您执行此操作的方法。

于 2010-10-22T22:03:11.617 回答