yiisoft/cache-memcached

Yii 缓存库 - Memcached 处理器

2.0.0 2023-02-15 14:48 UTC

This package is auto-updated.

Last update: 2024-08-25 14:09:55 UTC


README

Yii

Yii 缓存库 - Memcached 处理器


Latest Stable Version Total Downloads Build status Scrutinizer Code Quality Code Coverage Mutation testing badge static analysis type-coverage

本包提供了Memcached处理器并实现了PSR-16缓存。

在处理分布式应用程序中的缓存时(例如,具有多个服务器、负载均衡器等),此选项可以考虑为最快的选项。

要求

  • PHP 8.0 或更高版本。
  • Memcached PHP 扩展。

安装

可以使用 Composer 安装此包。

composer require yiisoft/cache-memcached

配置

创建实例

$cache = new \Yiisoft\Cache\Memcached\Memcached($persistentId, $servers);

$persistentId (string) - 默认情况下,标识 Memcached 实例的 ID 为空字符串。默认情况下,Memcached 实例在请求结束时被销毁。要创建一个在请求之间持久存在的实例,请使用 persistent_id 指定实例的唯一 ID。所有使用相同的 $persistentId 创建的实例将共享相同的连接。

有关更多信息,请参阅 \Memcached::__construct() 的说明。

$servers (array) - 将添加到服务器池的 memcached 服务器列表。

列表具有以下结构

$servers => [
    [
        'host' => 'server-1',
        'port' => 11211,
        'weight' => 100,
    ],
    [
        'host' => 'server-2',
        'port' => 11211,
        'weight' => 50,
    ],
];

默认值

$servers => [
    [
        'host' => Memcached::DEFAULT_SERVER_HOST, // '127.0.0.1'
        'port' => Memcached::DEFAULT_SERVER_PORT, // 11211
        'weight' => Memcached::DEFAULT_SERVER_WEIGHT, // 1
    ],
];

有关更多信息,请参阅 \Memcached::addServers() 的说明。

一般用法

除了在 PSR-16 接口中定义的功能外,本包不包含与缓存交互的任何附加功能。

$cache = new \Yiisoft\Cache\Memcached\Memcached();
$parameters = ['user_id' => 42];
$key = 'demo';

// try retrieving $data from cache
$data = $cache->get($key);

if ($data === null) {
    // $data is not found in cache, calculate it from scratch
    $data = calculateData($parameters);
    
    // store $data in cache for an hour so that it can be retrieved next time
    $cache->set($key, $data, 3600);
}

// $data is available here

要删除值,可以使用

$cache->delete($key);
// Or all cache
$cache->clear();

为了更有效地处理值,应使用批量操作

  • getMultiple()
  • setMultiple()
  • deleteMultiple()

本包可以用作 Yii Caching Library 的缓存处理器。

文档

如果您需要帮助或有问题,Yii 论坛 是一个不错的选择。您还可以查看其他 Yii 社区资源

许可证

Yii 缓存库 - Memcached 处理器是免费软件。它根据 BSD 许可证的条款发布。有关更多信息,请参阅 LICENSE

Yii 软件公司 维护。

支持项目

Open Collective

关注更新

Official website Twitter Telegram Facebook Slack