问题标签 [zend-cache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2738 浏览

session - 使用和配置 Zend Session 和 Zend Cache Memcached - Zend Framework 2.3

实际上,我使用的是“标准”会话管理器配置: http: //framework.zend.com/manual/current/en/modules/zend.session.manager.html

我想使用缓存并将会话数据保存到服务器的缓存(memcached)中,以提高性能和可扩展性。

我这样设置 php.ini (localhost memcached):

它显示了这个错误:

所以,我不明白如何配置我的config/autoload/global.phpmodule/application/module.php. 这是我第一次总体上实现 memcached 和缓存。非常感谢!

我试图这样修改module/application/module.php

但它显示了这个错误:

这是我的config/autoload/global.php

0 投票
1 回答
821 浏览

caching - ZF2 - 在缓存中保存函数的结果

我制作了一个视图助手,用于在输出之前检查外部 URL 是否存在。其中一些 URL 在我的主要布局中,因此通过一直调用所有这些 URL 来检查它们是否存在,检查会大大降低我的网站速度。我想保存该函数的输出,以便它仅在不到一个小时或一天之内未检查相同 URL 的情况下检查 URL。我相信我应该使用 Zend Cache 来做到这一点?但我不知道从哪里开始,您有什么建议、简单的解决方案或一些基本教程要学习吗?谢谢!

0 投票
1 回答
422 浏览

zend-framework2 - 为缓存的 ZF2 翻译文件添加前缀

我正在使用 ZF2 I18n 转换器和 memcached。设置是:

(所有大写的单词都是常数。)

然后我添加带有CsvLoader扩展的自定义类的文件AbstractFileLoader。那部分效果很好。

我的问题是当我想清除缓存时。我目前可以通过命名空间一次清除所有语言环境/文件或什么都不清除。如何为缓存中添加的每个翻译文件添加前缀/后缀?

我目前看到像 CACHE_NAMESPACE:Zend_I18n_Translator_Messages_7a1565097c5fca5a3138b2330c2451db

我想看到类似的条目 CACHE_NAMESPACE:Zend_I18n_Translator_Messages_es_MX_7a1565097c5fca5a3138b2330c2451db

显示语言环境。谢谢。

附加信息 要清除条目,我目前正在检索条目:

$entries = $translator->getCache()->getOptions()->getResourceManager()->getResource(self::RESOURCE_ID)->getAllKeys()

(对我来说,这似乎是一个可笑的长函数链 - 欢迎提出更好方法的建议),然后循环检查项目名称。如果一个项目符合一个条件,我打电话removeItem

更新

这是 Bram 提到的哈希生成的相关源代码的链接https://github.com/zendframework/zf2/blob/master/library/Zend/I18n/Translator/Translator.php#L553

0 投票
2 回答
2181 浏览

php - Zend Guard Loader 未启用

我正在尝试在我的 Xampp 控制面板中使用 Zend Guard Loader 优化我的 Zend 应用程序。为了安装和配置它,我做了以下配置设置。

我已经从Zend Guard Loader for PHP 5.6 下载 Zend Guard Loader 并将其解压缩到我的D:/xampp/php/ext/Zend-Loader.

它包含ZendLoader.dllphp_opcache.dll

在我的php.ini文件中,我已将其更新为:-

[因为我的 php启用了线程安全,所以使用了zend_extension_nts ]。

我也取消了注释和修改:-

  • opcache.enable=1
  • zend_loader.enable=1

现在,当我使用 php -v 或使用 phpinfo() 检查它时,它没有显示 Zend Guard Loader 已启用。任何帮助将不胜感激。配置它需要花费大量时间。此外,如果有人知道如何优化 Zend 应用程序的有效方法,请提供帮助。

0 投票
1 回答
187 浏览

php - Zend 框架 1 - Zend 缓存

我正在使用 Doctrine ORM 优化 Zend 框架应用程序。我无法弄清楚我将在控制器中使用哪些特定代码来获取此缓存。每当我再次传递相同的 url 时,它应该使用缓存代码而不是再次处理该逻辑。

我的缓存引导文件如下所示:-

任何帮助,将不胜感激。

0 投票
0 回答
257 浏览

magento - 在 HHVM 和 Nginx 上安装 Magento 时出现错误 'Class undefined: Zend_Cache'

我想用 Nginx、HHVM 和 MySQL 在我的服务器上安装 Magento 1.9.2.1。

我设法安装和配置 Nginx、HHVM 和 MySQL 工作。使用最新的 Magento 版本 1.9.2.1 的源代码,我将它放在我的站点的根文件夹中,然后像往常一样访问域开始安装 Magento。

问题是当我访问该站点时,它是空白的,而不是重定向到安装过程。

查看/var/log/hhvm/error.log中的错误日志,有错误:

致命错误:类未定义:Zend_Cache 在 /var/www/html/app/code/core/Mage/Core/Model/Cache.php 行 137

通常我认为它应该通过自动加载自动包含?

0 投票
1 回答
300 浏览

php - 是否可以使用 unix 套接字连接 zf1 和 memcached?

目前将遗留代码移动到新服务器。我的环境配置为仅使用套接字。

也许可以将 zend 框架 1 配置为使用 unix 套接字连接到 memcached 服务器?

PS不要混淆人们:问题不是关于本机php会话机制,而是ZF1缓存一个。

例如,我们在 application.ini 中指定如下内容(如果有一些解决方法,我需要一些用于 unix 套接字的内容):

我在 zf1 代码中看不到任何可以与 memcached unix 套接字一起使用的东西,但也许有人可以建议一些无痛的解决方法..

0 投票
1 回答
176 浏览

php - 阻止 memcache 删除 php/silverstripe/zend 缓存中的数据

我最近安装了 memcache(d),但数据似乎只在缓存中停留了一分钟左右,即使我已将过期时间设置为三天。我正在尝试缓存 1000 多个项目,但似乎只有少数几个能坚持!以下是统计数据:

以下是这些项目的统计数据:

我在用

  • Ubuntu 14.04
  • PHP
  • 银条3.5.0
  • Zend_Cache(Silvertripe 的一部分)
  • 内存缓存版本:1.4.14

下面你可以看到更多的统计数据。

服务器统计

平板统计

这是我在 PHP 中运行的一个有趣的测试:

首先我运行: setm ...通常设置所有四个缓存...有时其中一个没有设置!

然后我运行 getm:

现在,负载重的网站的数据立即消失,不那么繁忙的网站的数据在一分钟左右后消失,其他数据仍然存在。

这里发生了什么?

我真的很感激一些指针,因为 memcache 对我来说是新的。

0 投票
2 回答
641 浏览

php - 负载均衡器后面的 SilverStripe

我有一个 SilverStripe 实例在 AWS 负载均衡器后面的两台服务器上运行。为了共享会话信息,我正在运行 Elasticache Redis 服务器。我正在设置我的 php 会话存储信息:

在我登录 CMS 的管理部分后,我可以在服务器之间跳转并且它会记住我,但是在 CMS 中的部分之间切换时,主要部分不会呈现(AJAX 调用)。据我所知,另一台服务器没有意识到(无论您从第二个请求哪个服务器),您已经加载了 CMS 管理员,并且在响应标头中说要加载新版本的 JS 依赖项,然后假装管理员和它不加载。

阅读文档SilverStripe 正在使用 Zend_Cache 获取一些额外信息。我想如果我加载管理界面,然后删除缓存目录,它会复制问题。它没有。

然后我尝试使用这个模块来更改 Zend_Cache 正在使用的存储引擎。我补充说:

到我的 mysite/_config.php ,这是在 redis 中存储一些 cms 信息,例如 key CMSMain_SiteTreeHints9b258b19199db9f9ed8264009b6c351b,但这仍然不能解决负载平衡环境中服务器之间更改的问题。

SilverStripe 还能在哪里存储缓存数据?我是否正确实现了模块?

0 投票
1 回答
90 浏览

zend-framework2 - 如何同时使用\Zend\Cache 和Zend\Db\RowGateway\RowGateway?

我有一个抽象表类,其代码类似于:

ArrayObject这对于返回的默认值来说足够好$row,但是我现在想在我的行对象中包含其他功能(以便该功能不包含在多个不相关的位置,例如不同的控制器等)。

为此,我创建了一个ArrayObjectPrototype扩展Zend\Db\RowGateway\RowGateway,但是当我尝试缓存该行时,我收到以下错误消息:You cannot serialize or unserialize PDO instances

哦亲爱的。

__wake向我的行对象添加和函数没有问题__sleep,但是如何将 PDO 对象放入我的__wake函数中?

我正在我的application.config.php文件中创建我的缓存:

我假设我必须创建一个自定义插件,我将数据库适配器传递给?但我完全不知道如何做到这一点。