clowdy/multi-memcached 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

clowdy/multi-memcached

最新稳定版本:0.2.2

Composer 安装命令:

composer require clowdy/multi-memcached

包简介

Multiple memcached connection handler for Laravel and elasticache support

README 文档

README

Multiple memcached connection handler for Laravel cache and elasticache support. There is also support for getMulti, putMulti, foreverMulti and forgetMulti specifically for memcached only.

The cache driver can not be swapped if you make use of the additional getMulti, putMulti, foreverMulti or forgetMulti functions or the get, put, forever, forget with arrays. They are specific for memcached only!

Installation

You can install the package using the Composer package manager:

{
    "require": {
        "clowdy/multi-memcached": "0.2.*"
    }
}

Update app/config/app.php with the new service provider.

'providers' => array(
    ...
    //'Illuminate\Cache\CacheServiceProvider',
    'Clowdy\Cache\CacheServiceProvider',
    ...
)

Configuration

The package makes use of the existing memcached configs in app/config/cache.php, with a slightly modified structure.

Example:

...
'memcached' => array(
    'default' => 'data1',

    'connections' => array(

        // cluster
        'data1' => array(
            array('host' => '127.0.0.1', 'port' => 11211, 'weight' => 100),
            array('host' => '127.0.0.1', 'port' => 11212, 'weight' => 100)
        ),

        // single node
        'data2' => array(
            array('host' => '127.0.0.1', 'port' => 11213, 'weight' => 100),
        ),

        // elasticache cluster
        'data3' => array(
            'elasticache' => true
            'servers' => array(
                array('host' => 'memcached.cache.amazonaws.com', 'port' => 11211, 'weight' => 100),
            ),
        )
    )
),

Any other providers in Laravel that make use of memcached will use the default connection. For example the session provider using the memcached driver will use the default connection.

Example Usage

Cache::connection('data1')->get('somekey');

// or you can omit the connection method to use the default connection.

Cache::get('somekey');

// also perform a multi get using an array

Cache::get(['key1', 'key2']);

or

<?php namespace Some\App;

use Illuminate\Cache\Repository as CacheRepository;

class SomeClass
{
    protected $cache;

    public function __construct(CacheRepository $cache)
    {
        $this->cache = $cache;
    }

    public function update($data)
    {
        $this->cache->put('key', $data, 60);
        $this->update2($data);
    }

    public function update2($data)
    {
        $this->cache->connection('data2')->put('key', $data, 60);
        $this->update3(['key' => $data]);
    }

    public function update3(array $data)
    {
        $this->cache->connection('data3')->put(array_keys($data), array_values($data), 60);

        // or
        
        $this->cache->connection('data3')->putMulti($data, 60);
    }
}

统计信息

  • 总下载量: 26.85k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 4
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 4
  • Watchers: 5
  • Forks: 6
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2014-09-26

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固