You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Memcached缓存始终为空的问题排查求助

Memcached缓存始终为空的问题排查求助

大家好,我遇到了一个头疼的问题:我把Memcached集成到LAMP栈和WordPress里后,其他一切看起来都正常,但Memcached的内存始终是空的。

用memcdump --servers=127.0.0.1执行后没有任何返回;通过telnet 127.0.0.1 11211连接上服务后,stats items没有输出内容,stats slabs的结果如下:

STAT active_slabs 0
STAT total_malloced 0

实在搞不清楚哪里出问题了,下面是我已经做过的所有排查步骤:

一、Memcached完整stats输出

执行stats命令得到的完整结果:

stats
STAT pid 37127
STAT uptime 12198
STAT time 1706711922
STAT version 1.5.22
STAT libevent 2.1.11-stable
STAT pointer_size 64
STAT rusage_user 1.447142
STAT rusage_system 0.916591
STAT max_connections 1024
STAT curr_connections 1
STAT total_connections 14
STAT rejected_connections 13
STAT connection_structures 2
STAT reserved_fds 20
STAT cmd_get 1
STAT cmd_set 0
STAT cmd_flush 0
STAT cmd_touch 0
STAT cmd_meta 0
STAT get_hits 0
STAT get_misses 1
STAT get_expired 0
STAT get_flushed 0
STAT delete_misses 0
STAT delete_hits 0
STAT incr_misses 0
STAT incr_hits 0
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT touch_hits 0
STAT touch_misses 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 11417
STAT bytes_written 6580
STAT limit_maxbytes 67108864
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT time_in_listen_disabled_us 0
STAT threads 4
STAT conn_yields 0
STAT hash_power_level 16
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT slab_reassign_rescues 0
STAT slab_reassign_chunk_rescues 0
STAT slab_reassign_evictions_nomem 0
STAT slab_reassign_inline_reclaim 0
STAT slab_reassign_busy_items 0
STAT slab_reassign_busy_deletes 0
STAT slab_reassign_running 0
STAT slabs_moved 0
STAT lru_crawler_running 0
STAT lru_crawler_starts 5100
STAT lru_maintainer_juggles 12246
STAT malloc_fails 0
STAT log_worker_dropped 0
STAT log_worker_written 0
STAT log_watcher_skipped 0
STAT log_watcher_sent 0
STAT bytes 0
STAT curr_items 0
STAT total_items 0
STAT slab_global_page_pool 0
STAT expired_unfetched 0
STAT evicted_unfetched 0
STAT evicted_active 0
STAT evictions 0
STAT reclaimed 0
STAT crawler_reclaimed 0
STAT crawler_items_checked 0
STAT lrutail_reflocked 0
STAT moves_to_cold 0
STAT moves_to_warm 0
STAT moves_within_lru 0
STAT direct_reclaims 0
STAT lru_bumps_dropped 0
END

二、服务器环境信息

  • 运行环境:Ubuntu 20.04 + Apache 2.4 + PHP 7.4(php-fpm模式)
  • 已安装的相关包:memcached(v1.5.22)、php7.4-memcached、libmemcached-tools

三、端口监听状态

执行netstat确认服务监听情况:

tcp    0    0 127.0.0.1:11211  0.0.0.0:*  LISTEN 37127/memcached

四、Memcached配置文件

使用的是默认的/etc/memcached.conf,内容如下:

# run as a daemon
-d

# memory
-m 64

# connection port
-p 11211

# user
-u memcache

# listen
-l 127.0.0.1

# pidfile
-P /var/run/memcached/memcached.pid

五、进程与服务状态

  • 进程存在:执行ps -eaf | grep memcached结果
memcache   37127       1  0 12:15 ?        00:00:02 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid
  • 服务运行正常:执行service memcached status结果
Loaded: loaded (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2024-01-31 12:15:26 CET; 3h 19min ago
Docs: man:memcached(1)
Main PID: 37127 (memcached)
Tasks: 10 (limit: 5846)
Memory: 2.1M
CGroup: /system.slice/memcached.service
└─37127 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid

Jan 31 12:15:26 www systemd[1]: Started memcached daemon.

六、PHP模块配置

/etc/php/7.4/mods-available/memcached.ini的内容:

; priority=25
extension=memcached.so

; You need to install php-igbinary package to use igbinary serializer
; and php-msgpack to use msgpack serializer
memcached.serializer=php

希望有经验的朋友能帮我看看,到底哪里没配置对导致Memcached一直没缓存内容?

备注:内容来源于stack exchange,提问作者Łukasz Korona

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 11:10:26