bagua.torch_api.contrib.utils.redis_store¶
Module Contents¶
- class bagua.torch_api.contrib.utils.redis_store.RedisStore(hosts=None, cluster_mode=True, capacity_per_node=107374182400)¶
Bases:
bagua.torch_api.contrib.utils.store.ClusterStoreA Redis-based distributed key-value store implementation, with
setandgetAPI exposed.- Parameters:
hosts (List[Dict[str, str]]) – A list of redis servers, defined by a list of dict containing Redis host and port information like
[{"host": "192.168.1.0", "port": "7000"}, {"host": "192.168.1.1", "port": "7000"}]. A new Redis instance will be spawned on each node ifhosts=None.cluster_mode (bool) – If
True, data is sharded across all Redis instances. Otherwise, if there are \(m\) Redis instances, the workers on the \(n\)-th node will use the \(n % m\)-th Redis instance.capacity_per_node (int) – Maximum memory limit in bytes when spawning new Redis instances. Old values will be evicted when the limit is reached. Default is
100GB.
Note
All Bagua jobs within the same node will share the same local Redis instance if
hosts=None. Thecapacity_per_nodeonly affects newly spawned Redis instances, and has no effect on existing ones.