@@ -33,6 +33,17 @@ public function getAdapter(array $config)
3333 $ client = new Memcached ($ config ['persistent_id ' ]);
3434 $ client ->addServer ($ config ['host ' ], $ config ['port ' ]);
3535
36+ foreach ($ config ['redundant_servers ' ] as $ server ) {
37+ if (!isset ($ server ['host ' ])) {
38+ continue ;
39+ }
40+ $ port = $ config ['port ' ];
41+ if (isset ($ server ['port ' ])) {
42+ $ port = $ server ['port ' ];
43+ }
44+ $ client ->addServer ($ server ['host ' ], $ port );
45+ }
46+
3647 $ pool = new MemcachedCachePool ($ client );
3748
3849 if (null !== $ config ['pool_namespace ' ]) {
@@ -48,15 +59,17 @@ public function getAdapter(array $config)
4859 protected static function configureOptionResolver (OptionsResolver $ resolver )
4960 {
5061 $ resolver ->setDefaults ([
51- 'persistent_id ' => null ,
52- 'host ' => '127.0.0.1 ' ,
53- 'port ' => 11211 ,
54- 'pool_namespace ' => null ,
62+ 'persistent_id ' => null ,
63+ 'host ' => '127.0.0.1 ' ,
64+ 'port ' => 11211 ,
65+ 'pool_namespace ' => null ,
66+ 'redundant_servers ' => [],
5567 ]);
5668
5769 $ resolver ->setAllowedTypes ('persistent_id ' , ['string ' , 'null ' ]);
5870 $ resolver ->setAllowedTypes ('host ' , ['string ' ]);
5971 $ resolver ->setAllowedTypes ('port ' , ['string ' , 'int ' ]);
6072 $ resolver ->setAllowedTypes ('pool_namespace ' , ['string ' , 'null ' ]);
73+ $ resolver ->setAllowedTypes ('redundant_servers ' , ['array ' ]);
6174 }
6275}
0 commit comments