标签: memcache

安装 Memcache(PECL 扩展)时出现问题

我已经很好地安装了 memcached,现在我需要安装 PECL 扩展 memcache。我正在运行 RedHat x86_64 es5。安装给了我这个:

downloading memcache-2.2.6.tgz ...
Starting to download memcache-2.2.6.tgz (35,957 bytes)
..........done: 35,957 bytes
11 source files, building
running: phpize
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626
Enable memcache session handler support? [yes] : 
Notice: Use of undefined constant STDIN - assumed 'STDIN' in PEAR/Frontend/CLI.php on line 304

Warning: fgets() expects parameter 1 to be resource, string given in PEAR/Frontend/CLI.php on line 304

Warning: fgets() …
Run Code Online (Sandbox Code Playgroud)

installation redhat pecl memcache

5
推荐指数
1
解决办法
2万
查看次数

带有 Memcache 的 nginx 与 Varnish

我想知道在用于提供内容时是否有人对 Varnish Vs Memcache 有任何评论/基准/建议(通常 2-5kb JS 文件取决于请求中的参数;可能有数千个差异文件)

目前我们正在使用 nginx + Varnish + LAMP 来做到这一点。

我正在阅读 nginx 的 memcached 模块,想知道是否有人在 Memcache 中缓存内容并直接从 nginx 提供服务(或从 LAMP 中提取,以防万一),而不是将请求传递给 Varnish 并让它执行同样的工作。

总体而言,是否有任何关于使用 Memcache Vs Varnish 设置和获取(以及偶尔清除)内容(通常为 2-5kb)的基准

谢谢

nginx varnish memcached memcache

5
推荐指数
1
解决办法
1万
查看次数

安装 libmemcached 时出错

我在安装 libmemcached 时得到这个

root@server [/libmemcached]# make
make  all-am
make[1]: Entering directory `/libmemcached'
if /bin/sh ./libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I.  -I. -I. -ggdb   -DBUILDING_HASHKIT  -MT libhashkit/libhashkit_libhashkit_la-aes.lo -MD -MP -MF "libhashkit/.deps/libhashkit_libhashkit_la-aes.Tpo" -c -o libhashkit/libhashkit_libhashkit_la-aes.lo `test -f 'libhashkit/aes.cc' || echo './'`libhashkit/aes.cc; \
        then mv -f "libhashkit/.deps/libhashkit_libhashkit_la-aes.Tpo" "libhashkit/.deps/libhashkit_libhashkit_la-aes.Plo"; else rm -f "libhashkit/.deps/libhashkit_libhashkit_la-aes.Tpo"; exit 1; fi
./libtool: line 866: X--tag=CXX: command not found
./libtool: line 899: libtool: ignoring unknown tag : command not found
./libtool: line 866: X--mode=compile: command not found
./libtool: …
Run Code Online (Sandbox Code Playgroud)

linux centos memcached memcache

5
推荐指数
1
解决办法
7043
查看次数

如何判断 memcache 是否正在运行?

我刚刚通过以下方式在 Ubuntu 14.04 上安装了内存缓存(不是内存缓存)

sudo pecl install memcache
Run Code Online (Sandbox Code Playgroud)

该模块在 phpinfo 输出中显示为已加载。
但我看不到守护进程是否正在运行。
我试过了

  • sudo ps -e | grep memcache
  • sudo ps -e | grep memcache
  • sudo service memcache status -> sudo: /etc/init.d/memcache: 命令未找到
  • sudo /etc/init.d/memcache status -> 内存缓存:无法识别的服务

大多数谷歌搜索都给出了对我不起作用的memcached 的说明

如何检查 memcache 是否正在运行?

memcache

3
推荐指数
1
解决办法
3万
查看次数

是什么导致 memcache 删除键?

我们的 memcache 安装最近开始删除密钥,我们不确定为什么。大量密钥同时消失。

Memcache 报告驱逐低到不存在,我们的应用程序无法清除 memcache(它只能删除特定键)。即使应用程序不知道的密钥也会被删除,因此我们非常确信它们已经过期。然而,我们的内存缓存配置已经有一段时间没有被触及了。

以前有没有人调试过这样的问题,如果是这样,您是否建议我们采取任何步骤?memcache 的过期策略有多灵活 - 我们是否可能突然遇到基于(例如)键写入频率的标准?

memcached memcache

2
推荐指数
1
解决办法
6124
查看次数

在亚马逊 ec2 云中托管容错(复制)内存缓存解决方案?

有没有人提供托管在亚马逊 ec2 中的容错(复制)内存缓存解决方案,需要零维护并且只提供一个 IP?

我知道亚马逊提供 ElastiCache。但它仍然是相当低的水平并且有一些缺点:

  • 它需要维护(例如定义实例数、管理 IP 地址等)
  • 它不进行复制(我知道这样做的客户端库。但这不如服务器端解决方案安全)
  • 它不适用于一个提供的 IP 地址
  • 目前在欧盟西部(爱尔兰)不提供(但我相信这会来)
  • 当前只击败(将来会改变)

我梦想有一个托管服务,它为我提供一个 IP 地址并且“始终有效”。

谢谢,马塞尔

hosting cloud amazon-ec2 memcache amazon-elasticache

2
推荐指数
1
解决办法
1446
查看次数

配置 NGINX 以使用 memcache 来实现 reverse_proxy_cache

有什么办法可以配置 nginx 使用 memcache 来存储缓存数据,而不是使用存储在硬盘上的文件?

nginx memcache

2
推荐指数
1
解决办法
8148
查看次数

PHP 7.2 无法读取会话数据:memcache

我正在将一些服务器从 Ubuntu 16 迁移到 Ubuntu 18,但我无法让 php 会话和 memcache 正常工作。

在当前 (Ubuntu 16) 设置中,有三台服务器使用 memcache(注意:不是 memcached!)共享会话。

我相信我已经在新服务器上复制了当前设置,但它不起作用,我在 apache 错误日志中收到以下错误:

PHP Warning:  session_start(): Failed to read session data: memcache (path: tcp://10.32.82.6:11211?persistent=1&weight=1&timeout=1&retry_interval=15,tcp://10.32.82.7:11211?persistent=1&weight=1&timeout=1&retry_interval=15,tcp://10.32.82.8:11211?persistent=1&weight=1&timeout=1&retry_interval=15)
Run Code Online (Sandbox Code Playgroud)

phpinfo()我看到session.save_pathsession.save_handler设置正确(如上面的日志消息所示)。

如果我去三台机器中的任何一台,我都可以远程登录到任何其他服务器上的端口 11211。

如果我查看日志(设置为 -vv),我可以看到正在发生的事情和相当多的“NOT_FOUND”语句,但我真的不知道如何解释这些日志。

/etc/php/7.2/mods-available/memcache.ini

memcache.allow_failover="1"
memcache.max_failover_attempts="4"
memcache.session_redundancy="4"
Run Code Online (Sandbox Code Playgroud)

在当前(Ubuntu 16)设置中,我记得尝试过 memcached 和 memcache 并确定 memcache 是正确的解决方案。在新设置上尝试 memcached 是我最后的手段,因为我觉得 memcache应该可以工作,而我只是遗漏了一些东西,或者我不知道 Ubuntu 18 中发生了一些变化。

php memcache session

2
推荐指数
1
解决办法
8959
查看次数

Memcached 调试/服务器日志监控 Memcached 服务器?

我有基于 Memcached 变量的聊天引擎,将它们放入数组并通过 jquery 在另一端读取它们,

它在 95% 的情况下都可以正常工作,但是当服务器负载很高时 memcached(假设它是 memcached)崩溃和浏览器卡住了。

我不认为它的 jquery 问题,因为这只发生在服务器负载非常高的时候。

我需要一种方法来监视 memcached 服务器或以某种方式将日志文件写入失败/错误所在的位置...

关于我如何做到这一点的任何想法?或者知道为什么 memcached 服务器会失败?我按如下方式运行 memcached

$GLOBALS['MemCached'] = FALSE;
$GLOBALS['MemCached'] = new Memcache;
$GLOBALS['MemCached']->pconnect('localhost', 11211);
Run Code Online (Sandbox Code Playgroud)

我的 memcached 配置如下

#! /bin/sh
#
# chkconfig: - 55 45
# description:  The memcached daemon is a network memory cache service.
# processname: memcached
# config: /etc/sysconfig/memcached
# pidfile: /var/run/memcached/memcached.pid

# Standard LSB functions
#. /lib/lsb/init-functions

# Source function library.
. /etc/init.d/functions

PORT=11211
USER=memcached
MAXCONN=1024
CACHESIZE=128
OPTIONS=""

if [ -f …
Run Code Online (Sandbox Code Playgroud)

linux php memcached memcache

1
推荐指数
2
解决办法
4万
查看次数

MemCache-repcached 编译错误

我正在尝试安装 [memcached-1.2.8-repcached-2.2.1]( http://sourceforge.net/projects/repcached/files/latest/download?source=files )

运行make命令后出现以下错误:

进行全递归

make[1]:进入目录`/usr/local/src/pro/memcached-1.2.8-repcached-2.2.1'

在文档中制作所有内容

make[2]:进入目录`/usr/local/src/pro/memcached-1.2.8-repcached-2.2.1/doc'

make[2]:对“所有”无事可做。

make[2]:离开目录`/usr/local/src/pro/memcached-1.2.8-repcached-2.2.1/doc'

make[2]:进入目录`/usr/local/src/pro/memcached-1.2.8-repcached-2.2.1'

gcc -DHAVE_CONFIG_H -I。-DNDEBUG -g -O2 -MT memcached-memcached.o -MD -MP -MF .d> eps/memcached-memcached.Tpo -c -o memcached-memcached.o test -f 'memcached.c' || echo './'memcached.c

memcached.c:在函数“add_iov”中:

memcached.c:697: 错误:'IOV_MAX' 未声明(第一次在这个函数中使用)

memcached.c:697: 错误: (每个未声明的标识符只报告一次

memcached.c:697:错误:对于它出现的每个函数。)

make[2]: *** [memcached-memcached.o] 错误 1

make[2]:离开目录`/usr/local/src/pro/memcached-1.2.8-repcached-2.2.1'

make[1]: *** [all-recursive] 错误 1

make[1]:离开目录`/usr/local/src/pro/memcached-1.2.8-repcached-2.2.1'

make: *** [all] 错误 2

操作系统:Centos5.7 64位

gcc-4.1.2-51.el5

gcc-c++-4.1.2-51.el5

libgcc-4.1.2-51.el5

注意:已经安装了用于 php 的 Memcached 和 memcache 扩展

root@server[~]# memcached -h

内存缓存 1.4.5

php 分机 …

linux php operating-system cache memcache

0
推荐指数
1
解决办法
1631
查看次数

将端口 12111 上的 localhost memcached 服务器转发到 domain.com memcached 服务器

我的客户正在运行许多使用 memcached 的脚本,但他们都使用 localhost 作为地址。我的本地主机服务器现在内存不足,因为它正在做很多其他事情,比如 WWW 和 MySQL 服务器。

现在我有了一个全新的 16 GB RAM 服务器,我可以将它用作专用的 memcached 服务器。如何将 localhost:12111 重定向到 domain.com:12111 服务器?

我无法将 localhost 切换到 /etc/hosts 中的其他内容,因为我所有的数据库都使用这样的地址。

port port-forwarding forwarding memcached memcache

-1
推荐指数
1
解决办法
1700
查看次数