当前位置: 首页 > news >正文

Memcached 安装使用教程

一、Memcached 简介

Memcached 是一个高性能的分布式内存对象缓存系统,主要用于提升网站访问速度,减少数据库负载。支持键值对形式的缓存存储,常用于缓存数据库查询结果、会话数据、API 接口结果等。

二、下载安装

2.1 官网下载

访问 Memcached 官网 获取最新版本和文档。


2.2 Windows 安装(开发环境)

Memcached 没有官方 Windows 版本,可使用第三方构建版本:

  1. 下载地址:https://github.com/nono303/memcached/releases
  2. 解压 memcached.exe 到任意目录。
  3. 使用命令行运行:
memcached.exe -d start

或者作为服务安装:

memcached.exe -d install
memcached.exe -d start

2.3 macOS 安装

使用 Homebrew 安装:

brew install memcached
brew services start memcached

验证是否成功启动:

telnet localhost 11211

2.4 Linux 安装(以 Ubuntu 为例)

sudo apt update
sudo apt install memcached libmemcached-tools
sudo systemctl start memcached
sudo systemctl enable memcached

配置文件路径为:/etc/memcached.conf

三、基本使用

3.1 启动服务

memcached -d -m 64 -p 11211 -u memcache

参数说明:

  • -d:以守护进程方式运行
  • -m:分配内存大小(MB)
  • -p:监听端口
  • -u:运行用户

3.2 telnet 测试连接

telnet 127.0.0.1 11211

交互示例:

set name 0 900 4
john
get name

四、客户端使用示例

4.1 Python 使用

import memcacheclient = memcache.Client([('127.0.0.1', 11211)])
client.set('name', 'xiaoqi')
print(client.get('name'))

4.2 Java 使用

使用 spymemcached 客户端:

MemcachedClient client = new MemcachedClient(new InetSocketAddress("localhost", 11211));
client.set("name", 900, "xiaoqi");
String value = (String) client.get("name");
System.out.println(value);

五、常用命令

命令说明
set设置键值
get获取键值
delete删除键值
stats查看服务统计信息
flush_all清空所有缓存

六、配置优化建议

编辑 /etc/memcached.conf

-m 128
-p 11211
-l 0.0.0.0

然后重启服务:

sudo systemctl restart memcached

七、安全建议

  • 禁止公网上直接暴露端口 11211
  • 使用防火墙或内网限制访问
  • Memcached 不支持认证机制,建议仅在可信网络内使用

八、常见问题

Q1: telnet 无法连接?

  • 检查服务是否启动
  • 检查端口是否监听
  • 检查防火墙是否拦截

Q2: 内存占用过高?

  • 调整 -m 参数限制最大内存使用
  • 配置清理策略

九、参考链接

  • Memcached 官网
  • spymemcached GitHub

本文由“小奇Java面试”原创发布,转载请注明出处。

可以搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。

在这里插入图片描述

http://www.dtcms.com/a/262958.html

相关文章:

  • Flutter插件ios_pod
  • httpd-devel 与服务无关
  • Java历史:从橡树到火星探索,从微软法律战到Spring、Gradle
  • [6-02-01].第05节:配置文件 - 读取配置文件的内容
  • 一、(基础)构建一个简单的 LangChain 应用
  • 对称非对称加密,https和http,https通讯原理,Charles抓包原理
  • macos 使用 vllm 启动模型
  • WIFI 低功耗保活知识系列---三.WiFi AP如何广播自己的缓存区信息
  • OpenCV CUDA模块设备层----计算向量的平方根函数sqrt
  • 基于Spring Boot的绿园社区团购系统的设计与实现
  • Python 安装使用教程
  • Spring Boot 启动性能优化实战指南
  • 基于 SpringBoot+Vue.js+ElementUI 的 Cosplay 论坛设计与实现7000字论文
  • 【硬核数学】2.7 理论与现实的鸿沟:深度学习的数值稳定性挑战《从零构建机器学习、深度学习到LLM的数学认知》
  • 【Spring】——事务、整合、注解
  • 后台管理系统模板Art Design Pro
  • js代码03
  • Karmada 多集群服务发现
  • Apache Doris Profile 深度解析:从获取到分析,解锁查询性能优化密码
  • RedhatCentos挂载镜像
  • LeetCode Hot100(图论)
  • SQL参数化查询:防注入与计划缓存的双重优势
  • 使用 Sqlcmd 高效导入大型 SQL Server 数据库脚本 (.sql)
  • 深入理解 B+ 树:数据库索引的脊梁
  • AI初学者如何对大模型进行微调?——零基础保姆级实战指南
  • vscode一个文件夹有残余的git仓库文件,已经失效了,怎样进行清空仓库残余文件并重新初始化git--ubuntu
  • 【stm32】HAL库开发——CubeMX配置RTC,单片机工作模式和看门狗
  • 炸鸡派-基础测试例程
  • Linux入门篇学习——Ubuntu 系统介绍和Ubuntu启用root用户
  • 在线五子棋对战项目