<?php
-/**
- * Caching configuration options.
- *
- * Changes to these config files are not supported by BookStack and may break upon updates.
- * Configuration should be altered via the `.env` file or environment variables.
- * Do not edit this file unless you're happy to maintain any changes yourself.
- */
-
-// MEMCACHED - Split out configuration into an array
-if (env('CACHE_DRIVER') === 'memcached') {
- $memcachedServerKeys = ['host', 'port', 'weight'];
- $memcachedServers = explode(',', trim(env('MEMCACHED_SERVERS', '127.0.0.1:11211:100'), ','));
- foreach ($memcachedServers as $index => $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' => [
],
'array' => [
- 'driver' => 'array',
+ 'driver' => 'array',
+ 'serialize' => false,
],
'database' => [
- 'driver' => 'database',
- 'table' => 'cache',
- 'connection' => null,
+ 'driver' => 'database',
+ 'table' => 'cache',
+ 'connection' => null,
+ 'lock_connection' => null,
],
'file' => [
],
'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 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'),
];