2

我将 Aerospike 3.5.4 与 python 客户端 1.0.38 一起使用。我的意图是使用此 python 客户端将浮点值存储和检索到 Aerospike 中,因为 Aerospike 本身不支持浮点数据类型。从下面的代码片段中,我可以将转换为二进制数据的浮点数插入 Aerospike,但是在检索时我遇到了分段错误(核心转储)。

import aerospike
import struct
aerospike_config = {
  'hosts': [('localhost', 3000), ],
}
obj  = aerospike.client(aerospike_config).connect()
key = ('my_namespace', 'my_set', 59)
f = struct.pack('f', 20.6)
obj.put(key, {'price':f})
print struct.unpack('f', obj.get(key))

使用 aql 检查数据时,如下所示。

aql> select * from my_namespace.my_set where PK=59

+--------+ | 价格 | +--------+ | "�̤A" | +--------+ 1 行(0.001 秒)

请帮忙。

4

1 回答 1

0

这已在 Aerospike Python 客户端版本 1.0.40 中得到修复,其中包括以下功能:

  • 使用 cPickle 增强了不受支持的类型的自动序列化。
  • 支持用户提供的序列化器/反序列化器方法作为自动序列化的替代方案。
于 2015-12-09T20:48:05.387 回答