db1-fpp / laravel-elasticache
添加新的缓存和会话驱动程序,以使用AWS ElastiCache并实现自动发现
v1.0.4
2017-02-03 12:04 UTC
Requires
- illuminate/cache: ^5.2.0
- illuminate/contracts: ^5.2.0
- illuminate/session: ^5.2.0
- illuminate/support: ^5.2.0
This package is not auto-updated.
Last update: 2024-09-23 15:30:52 UTC
README
此包旨在为Laravel添加一个名为elasticache的新驱动程序,用作缓存和会话驱动程序。该包使用Memcached作为存储服务器,并与Amazon开发的Memcached扩展兼容。该扩展的独特之处在于,它可以自动发现集群中的节点,无需手动添加节点。
安装
要安装此包,只需使用composer即可
composer require db1-fpp/laravel-elasticache
然后只需将提供者在应用配置文件config/app.php中添加即可
Db1Fpp\Providers\ElastiCacheServiceProvider::class
或者使用Lumen
$app->register(Db1Fpp\Providers\ElastiCacheLumenServiceProvider::class);
配置
第一步是添加您将在应用中使用的ElastiCache服务器列表。这应在Laravel的缓存配置文件中完成。
// config/cache.php [ //... others cache config 'elasticache' => [ 'default' => [ 'mode' => env('MEMCACHED_CACHE_MODE', 'dynamic'), 'nodes' => [ [ 'host' => env('MEMCACHED_CACHE_HOST', '127.0.0.1'), 'port' => env('MEMCACHED_CACHE_PORT', 11211), 'weight' => env('MEMCACHED_CACHE_WEIGHT', 100) ] ] ], 'sessions' => [ 'mode' => env('MEMCACHED_SESSION_MODE', 'dynamic'), 'nodes' => [ [ 'host' => env('MEMCACHED_SESSION_HOST', '127.0.0.1'), 'port' => env('MEMCACHED_SESSION_PORT', 11211), 'weight' => env('MEMCACHED_SESSION_WEIGHT', 100) ] ] ] ] ]
connections键接受一个数组,您可以在其中定义多个连接,这些连接将被应用使用,下面将详细说明。
mode:指示将用于节点发现的模式。可能的值是static和dynamic
注意:要使用dynamic模式,您必须安装Amazon提供的Memcached扩展
nodes:是集群中的节点。如果您正在使用dynamic模式,则应添加Amazon提供的配置端点
使用
添加集群配置后,您将能够使用elasticache驱动程序进行缓存和会话。
/* * config/cache.php * * Other stores before here... */ 'elasticache' => [ 'driver' => 'elasticache' 'connection' => 'default' ]
您还可以将其用作会话驱动程序,甚至可以使用与缓存存储不同的服务器。
/* * config/session.php */ 'driver' => 'elasticache' // ...other sessions configs here 'elasticache_connection' => 'sessions'