db1-fpp/laravel-elasticache

添加新的缓存和会话驱动程序,以使用AWS ElastiCache并实现自动发现

v1.0.4 2017-02-03 12:04 UTC

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:指示将用于节点发现的模式。可能的值是staticdynamic

注意:要使用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'

许可证

MIT