下面的代码是用Go编写的,但是问题本身与Redis有关。
以前,我们的代码如下:
c := redis.NewClient(
&redis.Options{
Addr: addr,
Password: pass,
DB: db,
},
)
但是它被重构为:
clusterSlots := func() ([]redis.ClusterSlot, error) {
slots := []redis.ClusterSlot{
{
Start: 0,
End: 16383,
Nodes: []redis.ClusterNode{{
Addr: masterAddr,
}, {
Addr: slaveAddr,
}},
},
}
return slots, nil
}
rediscli := redis.NewClusterClient(&redis.ClusterOptions{
ClusterSlots: clusterSlots,
RouteRandomly: true,
Password: pass,
})
由于我对Redis总体思想的理解水平,所以我不太了解集群与DB的关系。它会浏览索引为零或没有任何变体的每个数据库吗?
不幸的是,我没有足够的时间深入探究。