问题标签 [memcachier]

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 投票
2 回答
500 浏览

heroku - 如何在 Heroku 上查看 Memcachier 缓存的内容?

我需要检查缓存,查看哪些 IP 被阻止*,以及阻止了多长时间。

注意:我使用的是开发者/免费计划。

更新:

  • 我正在使用将阻塞的 IP 存储在缓存中的 rack-throttle gem。
0 投票
2 回答
1112 浏览

ruby-on-rails - 通过异步设置键值对改进 Rails.cache.write

我目前正在考虑提高Rails.cache.write使用 dalli 将项目写入memcachier云时的性能。

与缓存相关的堆栈当前为:

heroku, memcachier heroku addon, dalli 2.6.4, rails 3.0.19

我正在使用 newrelic 进行性能监控。

我目前正在为给定的登录用户获取“活跃的学生”,由一个BusinessUser实例表示,当它的active_students方法从处理需要“活跃学生”列表的请求的控制器调用时:

在查看了 newrelic 之后,我基本上缩小了应用程序在 memcachier 上设置键值的一大性能影响。每次平均需要225ms。此外,设置 memcache 键值看起来会阻塞主线程并最终破坏请求队列。显然这是不可取的,尤其是当缓存策略的全部目的是减少性能瓶颈时。

此外,我用普通的 dalli 和 Rails.cache.write 对 1000 个相同值的缓存集对缓存存储进行了基准测试:

使用普通的 dalli cache.set,我们使用 2.066113 秒将 1000 个条目写入缓存,平均cache.set时间为 2.06 毫秒。

使用Rails.cache.write,我们使用 2.108364 秒将 1000 个条目写入缓存,平均Rails.cache.write时间为 2.11 毫秒。

⇒ 问题似乎不在于 memcachier,而在于我们试图存储的数据量。

根据#fetch method 的文档,如果我想将缓存集扔到单独的线程或工作人员中,这似乎不是我想要的方式,因为我无法writeread-不言而喻,我不想异步阅读。

Rails.cache.write在设置键值时,是否可以通过投入工作人员来减少瓶颈?或者,更一般地说,是否有更好的模式来执行此操作,这样我就不会在每次想要执行时阻塞主线程Rails.cache.write

0 投票
1 回答
95 浏览

ruby-on-rails - 使用 memcachier 与普通 Rails.cache 的优势

我看到这篇文章https://devcenter.heroku.com/articles/memcachier

我只想问将缓存存储在 memcachier 中的主要优势是什么。
与仅在服务器本身上缓存相比,使用其他服务进行缓存有什么优势?

在 Rails 中进行低级别缓存时,它有什么特别的优势吗?

0 投票
2 回答
572 浏览

ruby-on-rails - 部署到heroku时遇到memcachier(memcached)错误

Gemfile 上的 ruby​​ 版本是 v2.1.2,rails 版本是 4.1.1

有这样的。

我已经添加了 memcachier 插件。但是当我将我的 rails 代码部署到 heroku 时,我遇到了这个错误。

这是什么原因,我该如何避免?

0 投票
1 回答
382 浏览

ruby-on-rails - require 'dalli' 在控制台中返回 false,尽管它在 gemfile 中

关注https://devcenter.heroku.com/articles/memcachier#ruby

我添加了 memcachier 和 dalli gems,并进行了捆绑安装

然后我运行控制台

我打了

它返回 false

我不知道为什么,它也在登台和生产环境中这样做

0 投票
0 回答
196 浏览

node.js - Heroku Worker Dyno memcachem

我有一个使用 3 个测功机的 Heroku 应用程序:1 个网络和 2 个工作测功机。对于动态通信,我选择 memcachier,一切都是使用 nodejs 实现的。

Web-Dyno 连接到 memcacher 服务没有问题,工作起来就像一个魅力,但尝试连接一个工作 dyno 失败并且 TCP 连接收到一个重置:

我连接到服务的方法与已经在 Web-Dyno 中工作的方法相同。

问题出在哪里?

此代码:

适用于网络测功机但不适用于工人测功机..

0 投票
1 回答
502 浏览

cloudcontrol - 云控制的 Memcachier 插件失败

我遵循了https://www.cloudcontrol.com/dev-center/Add-on%20Documentation/Data%20Storage/MemCachier上的安装指南。memcachier 服务器已启动并正在运行,我从命令行对其进行了测试。但是我的 cloudcontrol 应用程序无法访问它。

这是我们日志中的错误:

这似乎是一个与 SASL 相关的问题。cctrl 是否有可能没有安装正确的 sasl2 库?有没有其他人遇到过这个问题?

更多信息:

  • django-pylibmc==0.5.0 和 pylibmc==1.4.1 在 requirements.txt

  • 从 cctrl 环境中正确读取 url 和凭据

0 投票
1 回答
47 浏览

python - Python、Heroku 和 Memcachier - 访问 settings.py 变量

我正在按照 Heroku 上的说明将 Memcahier 与 Python 结合使用。

当尝试在另一个文件中使用在 settings.py 中设置的“mc”变量时,我收到以下错误:

我已尝试将 settings.py 导入我希望使用“mc”变量的文件中,但出现另一个错误:

如何在设置文件之外访问这个 mc 变量?

0 投票
1 回答
327 浏览

php - When redeploying app on heroku PHP sessions disappear

I have a Symfony app on Heroku which uses sessions (eg. to keep user logged in).



I have configured memcachier (output of heroku addons command):



I have also created file .user.ini in the root of my project with the following contents:



Also I have added to composer.json this requirement for ext-memcached:



So when I login to instance via heroku run bash and check if memcahed module is installed - it all seems fine (also phpinfo() executed served via nginx and php5-fpm returns same configuration values)



However when inspect instance via heroku run bash and running php -i | grep session you can see that session.save_handler is still files despite configuring in .user.ini session.save_handler = memcached

So I wonder why isn't .user.ini configuration not taking effect with real php.ini configuration?

0 投票
1 回答
361 浏览

php - 如何在 Heroku/PHP 5.6 环境中设置具有故障转移支持的 Memcached?

最近,由于我们的一个 Memcached 节点死亡(我们使用 Memcachier 作为 Memcached 提供程序),我们的 PHP Web 应用程序在几分钟内变得不可用。

这是我们的user.ini配置(Herokuuser.ini用作定义配置的地方),它有效,但显然不支持故障转移:

我们的新user.ini配置,旨在提供故障转移功能

MEMCACHIER_SERVERSenv var 看起来像这样123.45678.us-east-1.heroku.prod.memcachier.com:11211,123.45678.us-east-1.heroku.prod.memcachier.com:11211:我认为这意味着我们有 2 个节点。

我们在新配置中遇到的问题是超时,以及关于 PHP 会话函数 ( session_start(), session_write_close()) 的大量错误。

为什么会这样?

Remember, we're not using Memcached inside our PHP code at all, but only as our session storage engine.

I did try contacting Memcachier support, but the customer representative could only provide recommended PHP code (which we don't need).