在 Zend Framework 2 中使用 Memcached 设置 ttl 和命名空间

2024-03-30

据我所知,这似乎是设置 Memcached 并设置 TTL 和命名空间的方法,但它们对缓存没有影响。该密钥没有命名空间前缀,并且过期时间是无限的。

    $MemcachedOptions = new \Zend\Cache\Storage\Adapter\MemcachedOptions();
    $MemcachedResourceManager = new \Zend\Cache\Storage\Adapter\MemcachedResourceManager(1, new \Zend\Cache\Storage\Adapter\Memcached());
    $MemcachedResourceManager->addServer(1, array('localhost', 11211));
    $MemcachedOptions->setResourceManager($MemcachedResourceManager);

    $MemcachedOptions->setNamespace('FooBar_');
    $MemcachedOptions->setTtl(10);

    $cache = $MemcachedOptions->getResourceManager()->getResource(1);
    $cache->set('foobar_key','I am in cache');

有谁有任何提示、线索吗?任何帮助将非常感激。


The MemcachedResourceManager当你尝试使用它时,它的工作方式会有所不同。

您应该像下面这样初始化它:

// init a memcached resource manager with one native memcached resource
// using resource id "1"
$MemcachedResourceManager = new \Zend\Cache\Storage\Adapter\MemcachedResourceManager();
$MemcachedResourceManager->addServer('1', array('localhost', 11211));

// init a memcached storage adapter
// using the native memcached resource of id "1"
// configure it with a ttl and a namespace
$cache = \Zend\Cache\StorageFactory::adapterFactory('memcached', array(
    'resource_manager' => $MemcachedResourceManager,
    'resource_id'      => '1',
    'namespace'        => 'FooBar_',
    'ttl'              => 10,
));

// or
$memcachedAdapterOptions = new \Zend\Cache\Storage\Adapter\MemcachedOptions(array(
    'resource_manager' => $MemcachedResourceManager,
    'resource_id'      => '1',
    'namespace'        => 'FooBar_',
    'ttl'              => 10,
));
$cache = new \Zend\Cache\Storage\Adapter\Memcached($memcachedAdapterOptions);

各个班级如何协同工作:

最重要的课程是Zend\Cache\Storage\Adapter\Memcached它是本机实例的包装器Memcached在上下文中使用Zend\Cache\StorageInterface.

该存储适配器有许多选项定义为Zend\Cache\Storage\Adapter\MemcachedOptions.

由于 ZF2 中的缓存存储适配器旨在处理一种类型的项目来存储,因此您需要不同的实例Zend\Cache\Storage\Adapter\Memcached对于不同类型的物品。但是您不习惯使用与 memcached 的不同连接(本机的不同实例)Memcached类)服务器 - 这是Zend\Cache\Storage\Adapter\MemcachedResourceManager来玩。

The Zend\Cache\Storage\Adapter\MemcachedResourceManager处理本机实例Memcached将被使用Zend\Cache\Storage\Adapter\Memcached.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Zend Framework 2 中使用 Memcached 设置 ttl 和命名空间 的相关文章

  • 如何在 Visual Studio 安装项目中创建卸载程序?

    我已经创建了一个 Visual Studio 安装项目 但我不知道如何在我的 Visual Studio 安装项目中创建卸载程序 请告诉我该怎么做 我正在使用 Visual Studio 2005 或者是否有任何其他软件可以使用卸载程序创建
  • 无法安装 VS 2015 Update 3 [重复]

    这个问题在这里已经有答案了 所以我尝试安装 VS 2015 Update 3 顺便说一句 我有专业版 但我不断收到此屏幕 当然 现在 Update 2 已经安装 但它无法识别这一点 我需要做什么 Go to control panel gt
  • 将安装文件打包为单个可执行安装程序

    我有一个用 C 编写的旧程序的旧设置 其中包含多个安装文件 SETUP 1 SETUP DLL INST32I EX ISDEL EXE SETUP EXE DISK1 ID SETUP INI SETUP INS SETUP LIB SE
  • 如何启动一个新的大型 ZF2 项目?

    我将使用 ZF2 创建一个新项目 事实上 我必须升级 ZF1 项目 但我决定从头开始 我的项目非常庞大 已经被来自世界各地的志愿者翻译成 10 种不同的语言 我遇到的困难是分析 ZF2 告诉我要遵循的模块结构 该软件允许 ISP 领域的中小
  • 在 MacOS 10.6 (Snow Leopard) 上安装 Intel 的 TBB 3.0 框架

    我在 MacOS 系统上安装英特尔线程构建模块 TBB 3 0 作为框架时遇到了一些问题 有谁知道一个好的教程吗 我尝试过使用 MacPorts 它有 TBB 2 2 它安装了我需要的所有库 但我没有得到框架 另外 Intel 网站上似乎没
  • 使用 MYsql 5.6 内存缓存

    我想我一定错过了一些非常明显的东西 但我想做的是使用 MySQL 5 6 并通过 memcache 返回值 所以我已经设置MYSQL来使用memcache插件 在innodb memcache containers表中设置详细信息 我现在该
  • R包安装时间长 - 源代码或二进制类型

    我正在尝试安装一个名为stringi使用下面的命令 install packages stringi 虽然它没有抛出任何错误消息 但安装尚未结束 我在控制台屏幕上看到很多消息 该屏幕持续运行超过 45 分钟 gt install packa
  • Cygwin - 如何安装 ansible?

    如何使用 Cygwin 获取 安装 ansible 我尝试了以下步骤 但在第 5 条期间 运行时 python setup py 安装 步骤取自 取自https servercheck in blog running ansible wit
  • 如何在windows上安装mongoDB?

    我正在尝试测试 mongoDB 看看它是否适合我 我下载了 32 位 Windows 版本 但不知道如何继续 我通常使用 WAMP 服务在本地计算机上进行开发 我可以在 Wamp 上运行 mongoDB 吗 但是 使它在 Windows 上
  • Go 中带有 TTL 选项的映射

    我需要构建这样的数据结构 map string SomeType 但它必须将值存储大约 10 分钟 然后从内存中清除 第二个条件是记录数量 它必须是巨大的 该数据结构必须至少添加每秒 2 5K 条记录 那么 Go 中最正确的实现方法是什么
  • config_cache_enabled 错误

    使用 Zend 框架 2 1 当我设定 config cache enabled gt true在我的里面application config php 它返回以下错误 Warning var export does not handle c
  • 如何在 OSX .pkg 中设置背景图像?

    我正在为我的 OSX 应用程序创建一个 pkg 安装程序 但我无法弄清楚如何设置背景图像 我在构建脚本中创建安装程序 如下所示 pkgbuild root APP FOLDER identifier com company product
  • 如何在aerospike中获取ttl为-1的记录集?

    我在aerospike中有很多记录 我想获取ttl为 1的记录 请提供解决方案 只是为了澄清 设置TTL 为 1 https github com aerospike aerospike client go blob master docs
  • IIS:添加功能

    我需要使用 IIS 7 0 中的 IP 地址和域限制功能编辑 IP 规则 但在我的 Windows 7 计算机上 我的 IIS 中不存在此功能 有谁知道如何向 IIS 添加此功能 我无法在任何地方找到下载 或 IIS 中用于添加功能的部分
  • Zend Framework 2 一个布局中有两个模板?

    在我的应用程序的每个模块中 我将有一个主要内容部分和一个侧边栏菜单 在我的布局中 我有以下内容 div class span8 listings div div class span4 div 我的控制器都返回一个指定内容的 ViewMod
  • Hadoop安装问题:

    我跟着this http www bogotobogo com Hadoop BigData hadoop Install on ubuntu single node cluster phpHadoop 安装教程 不幸的是 当我运行全部启动
  • 反序列化时出现 Protobuf-net memcache 提供程序 null 类型错误

    我正在使用最新的 protobuf net lib 和 protobuf net memcache 提供程序 我需要序列化自定义类型 MyClass 的列表 ProtoContract public class MyClass ProtoM
  • 如何调试VS2010安装工程?

    如何调试VS2010安装工程 我尝试附加到 msiexec exe 但没 有帮助 我假设您想在安装程序中调试自定义操作 如果是这样 请在运行安装程序时打开解决方案 并将此行代码放在其中一个事件中 System Diagnostics Deb
  • 如何开始使用“scipy”

    我之前安装过 Python 3 4 2 和 3 5 2 在这两种情况下 我都可以在 Idle 中涉足编写和测试代码 这给了我两个窗口 一个用于代码的 运行 窗口 一个用于交互和测试的 Shell 窗口 输出 抱歉 不确定术语是否正确 现在我
  • “此应用程序只能在应用程序容器的上下文中运行。” - Visual Studio 2015 开发新手

    我有点绝望了 我几个小时以来一直在尝试解决以下问题 我开发了一个应用程序 现在尝试使用 Visual Studio 2015 的安装向导扩展来安装 一切都在构建或 没有错误 但是当我打开应用程序时 它突出显示它只能在应用程序容器的上下文中打

随机推荐