谁能建议一下,如何在Aerospike Java客户端中实现/使用Redis管道之类的行为。
最佳答案
Redis是具有简单请求/响应协议的单线程数据库。由于必须逐个处理每个命令,并且每个请求都必须返回响应,因此如果您要执行许多操作,这会增加很多延迟。流水线化是一次发送多个命令,让服务器处理所有命令,然后批量返回所有结果的方法。
Aerospike具有其自己的自定义有线协议的多线程,该协议可以在同一连接上并行运行多个命令,而无需任何特殊支持。官方驱动程序会尽可能有效地处理发送命令。
Aerospike确实具有一种称为“多项操作”的功能,这意味着您可以发送与一个组合命令作用在同一键上的多个命令。 Java(和其他语言)驱动程序还支持异步操作,这些操作应进一步提高代码中的并发性能。