Riak桶对象是否可以缓存?

时间:2016-01-28 21:01:28

标签: python riak basho-client

使用Basho的Python客户端时,获取密钥的值包含两个操作:

  • 获得一个桶
  • 从桶中获取值

像这样:

bucket = client.bucket(bucket_name)
value = bucket.get(key)

我偶尔会让None回到同一个桶中。这似乎是荒谬的,因为桶显然存在(我手动检查了客户端创建的所有节点)。所以问题是,我可以/应该缓存/本地存储桶对象吗?

1 个答案:

答案 0 :(得分:0)

我不是python客户端的专家,但据我所知,你应该保留你的client.bucket实例并多次使用它来对它进行操作。但是,我不会缓存它,如果通过缓存你的意思是将其序列化到磁盘或将其存储在共享内存缓存中。实际上我也会避免在多个线程中共享它。绝对不会跨越不同的流程。

获取存储桶实例非常便宜,您可以经常创建它。但是,最好的做法是保持它并在紧密循环中或在您尚未完成当前工作的情况下对其进行多项操作。

如果您使用某些连接池,请确保在重新连接时重新创建存储桶实例。

希望有所帮助。如果没有,请提供更多详细信息,或者向我们展示一些代码:)