参考资料

  1. Monica 是一款开源的个人关系管理(PRM)工具
  2. Vaultwarden 是 Bitwarden 密码管理器的轻量级
  3. 与虚拟机相比,Docker的优势是什么?
  4. 与虚拟机相比,Docker的优势是什么?
  5. docker安装redis详细说明以及案例
  6. rspamd 是一个快速、开源的垃圾邮件过滤系统
  7. ClefOS 是一款基于开源技术的轻量级 Linux 发行版
  8. Clojure 是一种运行在 JVM 上的 Lisp 方言

Memcached 是一个高性能、分布式的内存缓存系统

Memcached 简介

Memcached 是一个高性能、分布式的内存缓存系统,用于加速动态 Web 应用程序。它通过缓存数据库查询结果、API 调用等数据,减少数据库负载,提高响应速度。


特点

  1. 基于内存存储:数据存储在 RAM 中,读写速度快。

  2. 分布式架构:支持多服务器集群,通过哈希算法分配数据。

  3. 简单键值存储:仅支持字符串类型的键值对。

  4. 无持久化:重启后数据丢失,适合临时缓存。

  5. 多语言支持:提供多种客户端库(如 PHP、Python、Java 等)。


最新更新内容及时间

  • 最新稳定版本:1.6.22(截至 2023 年 10 月)

  • 更新内容:

    • 性能优化及 Bug 修复

    • 改进内存管理

    • 增强稳定性


下载与官网


文档地址


Docker 安装示例

# 拉取官方镜像
docker pull memcached

# 运行容器(默认端口 11211)
docker run --name my-memcached -d -p 11211:11211 memcached

# 带自定义内存限制启动(例如 512MB)
docker run --name my-memcached -d -p 11211:11211 -e MEMCACHED_MEMUSAGE=512 memcached

YAML 配置示例(如用于 Docker Compose)

version: '3'
services:
  memcached:
    image: memcached
    ports:
      - "11211:11211"
    environment:
      - MEMCACHED_MEMUSAGE=256
    restart: always

常见错误及解决方法

  1. 无法连接 Memcached

    • 检查服务是否运行:telnet 127.0.0.1 11211

    • 确保防火墙放行端口 11211。

  2. 内存不足错误

    • 启动时增加内存限制(如 -m 1024 分配 1GB)。

  3. 键值过大

    • 默认单个值限制 1MB,需调整 -I 参数(如 -I 5m 设置 5MB)。

  4. 数据丢失

    • Memcached 无持久化,需通过应用层备份或改用 Redis。

  5. 性能瓶颈

    • 增加服务器节点或调整哈希算法(如一致性哈希)。


如需进一步调优,可参考官方 Wiki 或社区讨论。