| 
									
										
										
										
											2015-02-06 04:39:52 +01:00
										 |  |  | <?php | 
					
						
							| 
									
										
										
										
											2024-11-25 04:18:55 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-10-21 08:40:00 +02:00
										 |  |  | /** | 
					
						
							|  |  |  |  * cache.php | 
					
						
							| 
									
										
										
										
											2020-03-17 16:06:30 +00:00
										 |  |  |  * Copyright (c) 2019 james@firefly-iii.org. | 
					
						
							| 
									
										
										
										
											2017-10-21 08:40:00 +02:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2019-10-02 06:38:00 +02:00
										 |  |  |  * This file is part of Firefly III (https://github.com/firefly-iii). | 
					
						
							| 
									
										
										
										
											2017-10-21 08:40:00 +02:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2019-10-02 06:38:00 +02:00
										 |  |  |  * This program is free software: you can redistribute it and/or modify | 
					
						
							|  |  |  |  * it under the terms of the GNU Affero General Public License as | 
					
						
							|  |  |  |  * published by the Free Software Foundation, either version 3 of the | 
					
						
							|  |  |  |  * License, or (at your option) any later version. | 
					
						
							| 
									
										
										
										
											2017-10-21 08:40:00 +02:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2019-10-02 06:38:00 +02:00
										 |  |  |  * This program is distributed in the hope that it will be useful, | 
					
						
							| 
									
										
										
										
											2017-10-21 08:40:00 +02:00
										 |  |  |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
					
						
							|  |  |  |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
					
						
							| 
									
										
										
										
											2019-10-02 06:38:00 +02:00
										 |  |  |  * GNU Affero General Public License for more details. | 
					
						
							| 
									
										
										
										
											2017-10-21 08:40:00 +02:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2019-10-02 06:38:00 +02:00
										 |  |  |  * You should have received a copy of the GNU Affero General Public License | 
					
						
							|  |  |  |  * along with this program.  If not, see <https://www.gnu.org/licenses/>. | 
					
						
							| 
									
										
										
										
											2017-10-21 08:40:00 +02:00
										 |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-14 17:40:02 +02:00
										 |  |  | declare(strict_types=1); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-02-06 04:39:52 +01:00
										 |  |  | return [ | 
					
						
							| 
									
										
										
										
											2015-06-27 08:06:24 +02:00
										 |  |  |     /* | 
					
						
							|  |  |  |     |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |     | 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. | 
					
						
							|  |  |  |     | | 
					
						
							| 
									
										
										
										
											2016-09-16 06:19:40 +02:00
										 |  |  |     | Supported: "apc", "array", "database", "file", "memcached", "redis" | 
					
						
							|  |  |  |     | | 
					
						
							| 
									
										
										
										
											2015-06-27 08:06:24 +02:00
										 |  |  |     */ | 
					
						
							| 
									
										
										
										
											2015-02-06 04:39:52 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-04-27 06:26:37 +02:00
										 |  |  |     'default' => envNonEmpty('CACHE_DRIVER', 'file'), | 
					
						
							| 
									
										
										
										
											2015-02-06 04:39:52 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-27 08:06:24 +02:00
										 |  |  |     /* | 
					
						
							|  |  |  |     |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |     | 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. | 
					
						
							|  |  |  |     | | 
					
						
							|  |  |  |     */ | 
					
						
							| 
									
										
										
										
											2015-02-06 04:39:52 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-01 14:45:51 +01:00
										 |  |  |     'stores'  => [ | 
					
						
							|  |  |  |         'apc'       => [ | 
					
						
							| 
									
										
										
										
											2016-01-08 15:59:21 +01:00
										 |  |  |             'driver' => 'apc', | 
					
						
							| 
									
										
										
										
											2015-06-27 08:06:24 +02:00
										 |  |  |         ], | 
					
						
							| 
									
										
										
										
											2015-02-06 04:39:52 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-01 14:45:51 +01:00
										 |  |  |         'array'     => [ | 
					
						
							| 
									
										
										
										
											2022-03-29 15:01:12 +02:00
										 |  |  |             'driver'    => 'array', | 
					
						
							| 
									
										
										
										
											2020-06-06 22:25:52 +02:00
										 |  |  |             'serialize' => false, | 
					
						
							| 
									
										
										
										
											2015-06-27 08:06:24 +02:00
										 |  |  |         ], | 
					
						
							| 
									
										
										
										
											2015-02-06 04:39:52 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-01 14:45:51 +01:00
										 |  |  |         'database'  => [ | 
					
						
							| 
									
										
										
										
											2017-11-15 11:33:07 +01:00
										 |  |  |             'driver'     => 'database', | 
					
						
							|  |  |  |             'table'      => 'cache', | 
					
						
							| 
									
										
										
										
											2015-06-27 08:06:24 +02:00
										 |  |  |             'connection' => null, | 
					
						
							|  |  |  |         ], | 
					
						
							| 
									
										
										
										
											2015-02-06 04:39:52 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-01 14:45:51 +01:00
										 |  |  |         'file'      => [ | 
					
						
							| 
									
										
										
										
											2015-06-27 08:06:24 +02:00
										 |  |  |             'driver' => 'file', | 
					
						
							| 
									
										
										
										
											2017-11-15 11:33:07 +01:00
										 |  |  |             'path'   => storage_path('framework/cache/data'), | 
					
						
							| 
									
										
										
										
											2015-06-27 08:06:24 +02:00
										 |  |  |         ], | 
					
						
							| 
									
										
										
										
											2015-02-06 04:39:52 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-27 08:06:24 +02:00
										 |  |  |         'memcached' => [ | 
					
						
							| 
									
										
										
										
											2017-11-15 11:33:07 +01:00
										 |  |  |             'driver'        => 'memcached', | 
					
						
							| 
									
										
										
										
											2016-09-16 06:19:40 +02:00
										 |  |  |             'persistent_id' => env('MEMCACHED_PERSISTENT_ID'), | 
					
						
							| 
									
										
										
										
											2017-11-15 11:33:07 +01:00
										 |  |  |             'sasl'          => [ | 
					
						
							| 
									
										
										
										
											2016-09-16 06:19:40 +02:00
										 |  |  |                 env('MEMCACHED_USERNAME'), | 
					
						
							|  |  |  |                 env('MEMCACHED_PASSWORD'), | 
					
						
							|  |  |  |             ], | 
					
						
							| 
									
										
										
										
											2017-11-15 11:33:07 +01:00
										 |  |  |             'options'       => [ | 
					
						
							| 
									
										
										
										
											2017-09-09 22:32:11 +02:00
										 |  |  |                 // Memcached::OPT_CONNECT_TIMEOUT  => 2000,
 | 
					
						
							| 
									
										
										
										
											2016-09-16 06:19:40 +02:00
										 |  |  |             ], | 
					
						
							| 
									
										
										
										
											2017-11-15 11:33:07 +01:00
										 |  |  |             'servers'       => [ | 
					
						
							| 
									
										
										
										
											2015-06-27 08:06:24 +02:00
										 |  |  |                 [ | 
					
						
							| 
									
										
										
										
											2017-11-15 11:33:07 +01:00
										 |  |  |                     'host'   => env('MEMCACHED_HOST', '127.0.0.1'), | 
					
						
							| 
									
										
										
										
											2024-12-22 08:43:12 +01:00
										 |  |  |                     'port'   => (int) env('MEMCACHED_PORT', 11211), | 
					
						
							| 
									
										
										
										
											2016-09-16 06:19:40 +02:00
										 |  |  |                     'weight' => 100, | 
					
						
							| 
									
										
										
										
											2015-06-27 08:06:24 +02:00
										 |  |  |                 ], | 
					
						
							|  |  |  |             ], | 
					
						
							|  |  |  |         ], | 
					
						
							| 
									
										
										
										
											2015-02-06 04:39:52 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-01 14:45:51 +01:00
										 |  |  |         'redis'     => [ | 
					
						
							| 
									
										
										
										
											2017-11-15 11:33:07 +01:00
										 |  |  |             'driver'     => 'redis', | 
					
						
							| 
									
										
										
										
											2015-06-27 08:06:24 +02:00
										 |  |  |             'connection' => 'default', | 
					
						
							|  |  |  |         ], | 
					
						
							| 
									
										
										
										
											2024-01-01 14:45:51 +01:00
										 |  |  |         'dynamodb'  => [ | 
					
						
							| 
									
										
										
										
											2022-03-29 15:01:12 +02:00
										 |  |  |             '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'), | 
					
						
							| 
									
										
										
										
											2020-06-06 22:25:52 +02:00
										 |  |  |             'endpoint' => env('DYNAMODB_ENDPOINT'), | 
					
						
							|  |  |  |         ], | 
					
						
							| 
									
										
										
										
											2015-06-27 08:06:24 +02:00
										 |  |  |     ], | 
					
						
							| 
									
										
										
										
											2015-02-06 04:39:52 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-27 08:06:24 +02:00
										 |  |  |     /* | 
					
						
							|  |  |  |     |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |     | 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. | 
					
						
							|  |  |  |     | | 
					
						
							|  |  |  |     */ | 
					
						
							| 
									
										
										
										
											2015-02-06 04:39:52 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-01 14:45:51 +01:00
										 |  |  |     'prefix'  => env('CACHE_PREFIX', 'firefly'), | 
					
						
							| 
									
										
										
										
											2015-02-06 04:39:52 +01:00
										 |  |  | ]; |