| package redis | |
| import ( | |
| "context" | |
| "sync/atomic" | |
| ) | |
| func (c *ClusterClient) DBSize(ctx context.Context) *IntCmd { | |
| cmd := NewIntCmd(ctx, "dbsize") | |
| var size int64 | |
| err := c.ForEachMaster(ctx, func(ctx context.Context, master *Client) error { | |
| n, err := master.DBSize(ctx).Result() | |
| if err != nil { | |
| return err | |
| } | |
| atomic.AddInt64(&size, n) | |
| return nil | |
| }) | |
| if err != nil { | |
| cmd.SetErr(err) | |
| return cmd | |
| } | |
| cmd.val = size | |
| return cmd | |
| } |