问题标签 [libmemcached]

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 回答
797 浏览

php - 如何使用 Zend 管理 Zend 会话保存处理程序?

我想将 zend 会话保存在memcache而不是files基于会话管理。我已经memcache.dll在 Windows 8 x64 系统中正确添加了文件,并检查它memcache工作正常,并且还安装了memcachedWindows 服务并显示memcached Server正在运行。

到目前为止,我已经搜索了管理 Zend 会话保存处理程序类。我找到了一个很好的,可能是我搜索中最好的,Mike Willbanks的文章,这里是一个链接。我也在此处粘贴使用 Memcache 的 Zend 会话保存处理程序的类名。

以前有没有人实现过这个会话保存处理程序?如果是,请帮助我。

你能分享Zend session save handler一个类,你使用什么,application.ini 设置和 Bootstrap.php 设置吗?

提前致谢。

0 投票
0 回答
610 浏览

c - 内存缓存超时

我找到了关于在 C/C++ 中使用 libmemcached 的示例代码。但是我不明白两次超时的含义:

  1. memcached_behavior_set() 的 memcached_timeout
  2. memcached_set() 过期

    rc = memcached_behavior_set( memc_primary, MEMCACHED_BEHAVIOR_CONNECT_TIMEOUT , memcached_timeout );

    rc = memcached_set( memc_primary, memcached_key_val, memcached_key_len, save_value, strlen( save_value ), expire, 0 );

你能解释一下它们的用途吗?

非常感谢!

0 投票
1 回答
168 浏览

python - pylibmc - 如何支持大于 1 MB 的值

我已经使用 -I 3m 选项运行 memcached。

但是我需要告诉 pylibmc 大小变化吗?

我试过这个:

但我得到了这个:

0 投票
0 回答
289 浏览

php - 内存缓存问题

我正在使用 AMPPS 3.2、PHP 5.6 开发 OSX 10.10.5。我正在尝试安装 memcached 以使用 PHP,但到目前为止还没有运气。

到目前为止我做了什么:

  • 我已经安装下载源
  • 使用自制软件(也更新它)
  • 使用 pecl

我第一次尝试时遇到关于架构不匹配的错误,然后我意识到带有 AMPPS 的 PHP 版本是 32 位,而 OSX 是 64 位,所以我添加了这个标志: CFLAGS='-arch i386' 解决了这个问题,但现在我得到了另一个错误:

有任何想法吗?

0 投票
2 回答
206 浏览

php - 与失败的缓存节点不一致的数据

我遇到了数据库中的数据恢复到旧状态的问题。我想我已经将问题缩小到这种情况。

想象一下像这样发生的两次购买的序列:

  • 所有缓存节点都在工作
  • 用户登录(他们的数据从数据库中提取并存储在 memcached 中)
  • 缓存节点宕机
  • 用户继续浏览(由于在缓存中找不到他们的数据,因此从数据库中提取并存储在 memcached 中)
  • 用户执行一些操作来转换他们的记录[例如升级](他们的记录在缓存和数据库中更新)
  • 缓存节点恢复
  • 我们再次从缓存中拉取用户的数据,它来自之前关闭的原始缓存节点
  • 现在我们有一个问题:缓存中的节点已过期!
  • 用户进行另一个操作来转换他们的记录
  • 这保存在缓存和数据库中,但由于它基于过时的记录,因此它会踩踏先前的更改并有效地还原它

我们现在丢失了数据,因为数据库记录被部分过时的信息重写。

如何使用 PHP5 和具有持久连接的 libmemcached 来防止这种情况发生?我想我想要的是让缓存节点根本不进行故障转移;它应该只是无法读取和写入该节点,但不会将其从池中删除,这样我就不会得到重复的记录。

当一个节点出现故障时,这将使我的数据库上的负载增加 1/n(其中 n 是缓存节点的总数),但这比以不一致的数据结束要好。

不幸的是,我无法理解应该更改哪些设置才能获得此行为。

0 投票
0 回答
173 浏览

php - php memcached 无法识别恢复的 memcached 服务器

我启动了 2 个 memcached 服务器,将数据写入它们。

我关闭了一台 memcached 服务器。我可以看到剩余的服务器获得了新的 memcached 写入。

第二台服务器恢复后,php memcached 没有使用第二台服务器。这是我正在使用的配置。我究竟做错了什么 ?

0 投票
1 回答
232 浏览

python-2.7 - 如何连接到 memcachedb 并使用 API

我已经根据Memcachedb: The complete guide安装了memcachedb,并且我可以按照指南中的说明使用 telnet 设置和获取键值。

我真正想做的是从 python 脚本中设置和获取键值对。

我通过以下命令在 Ubuntu 机器上运行 memcachedb:

sudo ./memcachedb -vv -u root -H ~/mcDB/ -N

我阅读并发现可以使用 libmemcached python 客户端与 memcachedb 进行通信。所以,我正在使用以下测试脚本

但它给出了以下输出:

返回值 0

得到结果 无

我也试过用 127.0.0.1 替换 localhost,也不起作用。

事实上,当我使用 telnet 设置和获取时,运行 python 脚本时 memcachedb(-vv 选项)没有输出。

那么如何连接到memcachedb并通过python(get和set)执行命令?

0 投票
1 回答
503 浏览

python - 加载批量数据的正确方法

我正在尝试将大量数据加载到 memcachedb 中。我正在 MySQL 数据库上运行一些查询,我想将这些查询的结果存储在 memcachedb 中,以便以后轻松访问。

目前,我只是使用简单的 set 命令将结果存储在 memcachedb 中,但是由于这些结果有数十亿个,将它们一个一个地存储在一个循环中是非常低效且耗时的。所以,我想知道是否有更好的方法将数据加载到 memcachedb 中?就像传统 RDMS 中的数据导入向导

我正在使用 pylibmc 连接到 memcachedb。

0 投票
1 回答
542 浏览

magento - 第 395 行的 libmemcached.php

在 local.xml 中启用 memcached 时来自 /var/log/system.log 的错误:

2016-03-06T00:37:16+00:00 ERR (3):警告:在第 395 行的 /public_html/demo/lib/Zend/Cache/Backend/Libmemcached.php 中除以零

站点位于与 cloudlinux 的共享主机上。local.xml 中的 Memcached 部分如下所示:

任何想法如何解决这一问题?为了避免此错误,我是否需要在 local.xml 中进行任何修复?我在 cpanel 中检查 CPU 使用率,它几乎一直是 88/100,如果我从 local.xml 禁用 memcached,CPU 使用率会下降到正常的 22/100。

第 395 行是:} else {

0 投票
0 回答
187 浏览

php - LibMemcached 崩溃 php-fpm

我有 PHP:

root@15048:/# php -v

PHP 7.0.3-1~dotdeb+8.1 (cli) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies with Zend OPcache v7.0.6-dev,版权所有 (c) 1999-2016,由 Zend Technologies 提供

安装了 memcached 库:

在此处输入图像描述

我已经编写了使用 memcached 的类:

但是当我取消注释“设置”函数时,只需取消注释,永远不要调用它,php崩溃......

我试过memcached“添加”功能有同样的问题......

[26-Mar-2016 14:26:42] 警告:[pool www] 孩子 15541 在信号 11 (SIGSEGV) 上退出 26.168556 秒后开始

[26-Mar-2016 14:26:42] 通知:[pool www] 孩子 15566 开始

[26-Mar-2016 14:26:42] 警告:[pool www] 孩子 15542 在信号 11 (SIGSEGV) 上退出 10.321759 秒后从开始

[26-Mar-2016 14:26:42] 通知:[pool www] 孩子 15567 开始

[2016 年 3 月 26 日 14:26:43] 警告:[pool www] 孩子 15567 在信号 11 (SIGSEGV) 上从开始 1.305421 秒后退出

[26-Mar-2016 14:26:43] 通知:[pool www] 孩子 15578 开始

[26-Mar-2016 14:26:44] 警告:[pool www] 子 15540 在信号 11 (SIGSEGV) 上退出 28.413800 秒后从开始

[26-Mar-2016 14:26:44] 通知:[pool www] 孩子 15579 开始