$memcachedServer) { $memcachedServerDetails = explode(':', $memcachedServer); if (count($memcachedServerDetails) < 2) { $memcachedServerDetails[] = '11211'; } if (count($memcachedServerDetails) < 3) { $memcachedServerDetails[] = '100'; } $memcachedServers[$index] = array_combine($memcachedServerKeys, $memcachedServerDetails); } } return [ // Default cache store to use // Can be overridden at cache call-time 'default' => env('CACHE_DRIVER', 'file'), // Available caches stores 'stores' => [ 'apc' => [ 'driver' => 'apc', ], 'array' => [ 'driver' => 'array', 'serialize' => false, ], 'database' => [ 'driver' => 'database', 'table' => 'cache', 'connection' => null, 'lock_connection' => null, ], 'file' => [ 'driver' => 'file', 'path' => storage_path('framework/cache/data'), 'lock_path' => storage_path('framework/cache/data'), ], 'memcached' => [ 'driver' => 'memcached', 'options' => [ // Memcached::OPT_CONNECT_TIMEOUT => 2000, ], 'servers' => $memcachedServers ?? [], ], 'redis' => [ 'driver' => 'redis', 'connection' => 'default', 'lock_connection' => 'default', ], 'octane' => [ 'driver' => 'octane', ], ], /* |-------------------------------------------------------------------------- | Cache Key Prefix |-------------------------------------------------------------------------- | | When utilizing a RAM based store such as APC or Memcached, there might | be other applications utilizing the same cache. So, we'll specify a | value to get prefixed to all our keys so we can avoid collisions. | */ 'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_') . '_cache_'), ];