在Python中嵌套的memcache查找,o(n)好/坏?

时间:2010-10-22 21:19:50

标签: python memcached memcachedb

memcache是​​不是很糟糕?

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

我希望密钥列表长约1000左右。

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

感谢。

1 个答案:

答案 0 :(得分:2)

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

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

python-memcache模块有get_multi方法为你做这个。