【问题标题】:Python memcache preserve order in get_multi()Python memcache 在 get_multi() 中保留顺序
【发布时间】:2011-05-21 08:20:45
【问题描述】:

如何保持使用 memcache 的 get_multi() 函数获取的值的顺序?默认情况下,返回的顺序是随机的。谢谢。

【问题讨论】:

  • 请记住,memcache 请求可能会访问许多 memcache 服务器,因此您实际上不可能以任何特定的顺序获得结果。任何订单保留都将在客户端进行 - 不是保留订单,而是恢复它。

标签: python memcached memcachedb


【解决方案1】:

我记得 memcache 有标志 GET PRESERVE ORDER,请尝试将其添加到函数标志

【讨论】:

  • 我可以在 php 中找到这个函数,但在任何 python 库中都找不到
【解决方案2】:

Python 的 Memcache 库返回一个字典,而 Python 中的字典是无序的,所以你必须手动按正确的顺序从字典中获取值:

result = cache.get_multi(keys)
values = [result.get(key) for key in keys]

【讨论】:

  • 第二行有语法错误,赋值的右边应该以括号开头或以方括号结尾。
猜你喜欢
  • 1970-01-01
  • 2013-03-17
  • 1970-01-01
  • 1970-01-01
  • 2022-08-08
  • 2015-12-08
  • 1970-01-01
  • 1970-01-01
  • 2017-06-18
相关资源
最近更新 更多