对于集群版redis,执行mget操作时,由于key可能分布在不同的slot,这种情况下go的sdk支持这种mget的操作吗?

来源:6-10 Go中如何正确使用Redis?

一号IT民工

2022-11-08

对于集群版redis,执行mget操作时,由于key可能分布在不同的slot,这种情况下go的sdk支持这种mget的操作吗?

写回答

1回答

少林码僧

2022-11-08

这个问题很有价值,目前业界普遍使用的解决方案主要有两种:
1. 使用hashtag,将指定的key放到同一个redis节点上。这种方案实现起来成本最低,但使得redis集群版的容灾能力大打折扣,只能通过主从,哨兵等其他分布式架构来弥补,但这样就丧失了选择集群版的初衷和优势,数据规模大的场景下不推荐。

2.根据slot分片规则先对key按照slot进行分组再进行并发调用,这种方式需要对原生sdk进行进一步的封装来实现对key进行分组并实现并发调用的逻辑,这种方式在实际场景中使用更广泛。

1
0

海量数据高并发场景,构建Go+ES8企业级搜索微服务

全新 ES8 配合技术组件,实现高性能搜索

267 学习 · 54 问题

查看课程