【发布时间】:2015-01-05 18:06:21
【问题描述】:
我正在使用 Laravel 框架,并在 Heroku 上托管我的暂存和生产环境。
我想使用缓存,例如 Memcached。在我的本地机器上,一切运行良好,我可以存储值并在我运行的缓存中检索它们。
但是一旦部署在 Heroku 上,设置和访问缓存中的键不会做任何事情,也不会导致错误。
经过一番调查,我认为问题在于与我使用的 Memcached 服务的连接(在我的例子中是 Memcached 云)。
如何为我的暂存和生产环境设置 Laravel 以连接到外部 Memcached 提供程序?
我尝试使用在我的应用程序上安装 Memcached 云后提供的用户名和密码,但 Laravel 不使用它们。
在cache.php中
$memcachedURL = parse_url(getenv("MEMCACHEDCLOUD_SERVERS"));
...
'memcached' => array(
array(
'host' => $memcachedURL["host"],
'port' => $memcachedURL["port"],
'weight' => 100,
'username' => getenv("MEMCACHEDCLOUD_USERNAME"),
'password' => getenv("MEMCACHEDCLOUD_PASSWORD")
),
)
我应该编写一个 Memcached 连接器来使用这样的用户名和密码吗?如果是,您能否提供一些关于如何开始做的参考资料?
【问题讨论】:
-
不是 Laravel 专家,但请注意 Memcached Cloud 应使用 Heroku 的 SASL(二进制)Memcached 协议连接。
标签: php caching heroku laravel