X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/1ee3e779e4b9b0a92f701a72f21a72c83cb1ce68..refs/pull/3012/head:/app/Config/cache.php diff --git a/app/Config/cache.php b/app/Config/cache.php index 6d8fa7ad7..6fd4807da 100644 --- a/app/Config/cache.php +++ b/app/Config/cache.php @@ -1,32 +1,36 @@ $memcachedServer) { - $memcachedServerDetails = explode(':', $memcachedServer); - if (count($memcachedServerDetails) < 2) $memcachedServerDetails[] = '11211'; - if (count($memcachedServerDetails) < 3) $memcachedServerDetails[] = '100'; - $memcachedServers[$index] = array_combine($memcachedServerKeys, $memcachedServerDetails); - } -} +use Illuminate\Support\Str; return [ - // Default cache store to use - // Can be overridden at cache call-time + /* + |-------------------------------------------------------------------------- + | Default Cache Store + |-------------------------------------------------------------------------- + | + | This option controls the default cache connection that gets used while + | using this caching library. This connection is used when another is + | not explicitly specified when executing a given caching function. + | + */ + 'default' => env('CACHE_DRIVER', 'file'), - // Available caches stores + /* + |-------------------------------------------------------------------------- + | Cache Stores + |-------------------------------------------------------------------------- + | + | Here you may define all of the cache "stores" for your application as + | well as their drivers. You may even define multiple stores for the + | same cache driver to group types of items stored in your caches. + | + | Supported drivers: "apc", "array", "database", "file", + | "memcached", "redis", "dynamodb", "octane", "null" + | + */ + 'stores' => [ 'apc' => [ @@ -34,13 +38,15 @@ return [ ], 'array' => [ - 'driver' => 'array', + 'driver' => 'array', + 'serialize' => false, ], 'database' => [ - 'driver' => 'database', - 'table' => 'cache', - 'connection' => null, + 'driver' => 'database', + 'table' => 'cache', + 'connection' => null, + 'lock_connection' => null, ], 'file' => [ @@ -49,19 +55,50 @@ return [ ], 'memcached' => [ - 'driver' => 'memcached', + 'driver' => 'memcached', + 'persistent_id' => env('MEMCACHED_PERSISTENT_ID'), + 'sasl' => [ + env('MEMCACHED_USERNAME'), + env('MEMCACHED_PASSWORD'), + ], + 'options' => [ + // Memcached::OPT_CONNECT_TIMEOUT => 2000, + ], 'servers' => env('CACHE_DRIVER') === 'memcached' ? $memcachedServers : [], ], 'redis' => [ - 'driver' => 'redis', - 'connection' => 'default', + 'driver' => 'redis', + 'connection' => 'default', + 'lock_connection' => 'default', + ], + + 'dynamodb' => [ + 'driver' => 'dynamodb', + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), + 'table' => env('DYNAMODB_CACHE_TABLE', 'cache'), + 'endpoint' => env('DYNAMODB_ENDPOINT'), + ], + + 'octane' => [ + 'driver' => 'octane', ], ], - // Cache key prefix - // Used to prevent collisions in shared cache systems. - 'prefix' => env('CACHE_PREFIX', 'bookstack_cache'), + /* + |-------------------------------------------------------------------------- + | 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'), ];