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

如何在 Ubuntu 24.04 上安装 Memcached 服务器教程

简介

Memcached 是一个高性能、分布式的内存缓存系统,旨在通过减少数据库负载来加速动态 Web 应用程序。它通过将数据和对象缓存在 RAM 中来实现这一点,从而最大限度地减少了从数据库或其他慢速存储层重复获取数据的需要。

本教程的目标是手把手教你如何在 Ubuntu 24.04 服务器上安装 Memcached。

安装和配置步骤

第一步:更新你的系统

首先,通过运行以下命令确保你的系统是最新的:

sudo apt update
sudo apt upgrade -y

第二步:安装 Memcached

通过运行以下命令来安装 Memcached:

sudo apt install memcached -y

执行以下命令来验证 Memcached 的安装:

memcached --version

输出:

memcached 1.6.24

这个命令应该会显示 Memcached 的版本。

第三步:配置 Memcached

Memcached 的主要配置文件位于 /etc/memcached.conf。在你喜欢的文本编辑器中打开这个文件。例如:

sudo nano /etc/memcached.conf

在这个文件中,你可以设置内存大小、默认端口、IP 地址和其他选项。以下是一些重要的配置:

内存使用:设置用于对象存储的最大内存量。

-m 64

默认端口:设置 Memcached 将监听的端口。

-p 11211

IP 地址:指定 Memcached 将监听的 IP 地址。默认情况下,它会监听所有可用的地址。

-l 127.0.0.1

取消注释 -c 1024 指令以限制同时进行的 Memcached 连接的数量。将 1024 替换为你期望的连接数。

-c 1024

在完成必要的更改后,保存并关闭文件。

要应用更改,请使用以下命令重启 Memcached 服务:

sudo systemctl restart memcached

要确保 Memcached 正常运行,请使用以下命令检查其状态:

sudo systemctl status memcached

第四步:测试 Memcached

你可以使用 telnet 命令来测试 Memcached 是否正常工作。首先,安装 telnet:

sudo apt install telnet -y

然后,连接到 Memcached:

telnet 127.0.0.1 11211

你应该会看到类似这样的提示:

Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.

要测试存储和检索数据,请使用以下命令:

set mykey 0 900 4
data

此命令设置一个键为 mykey,值为 data

要检索存储的值:

get mykey

输出:

VALUE mykey 0 4
data
END

要退出 telnet,请键入:

quit

第五步:连接到 Memcached

Memcached 与多种应用程序框架兼容,如 PHP、Perl、Python、Ruby 和 Java。请按照以下步骤连接到 Memcached 并使用 PHP 测试应用程序。

安装 PHP 和 Memcached 模块。

sudo apt install php php-memcached -y

创建一个新的示例 PHP 脚本来连接到 Memcached。

nano memcached.php

将以下内容添加到文件中。

<?php
$memcached = new Memcached();
$memcached->setOption(Memcached::OPT_BINARY_PROTOCOL, true);
$memcached->addServer('127.0.0.1', 11211);
$memcached->setSaslAuthData('example-user', 'strong-password');// Set and retrieve a value to test the connection
$memcached->set('example', 'Greetings from HostMyCode!');
echo $memcached->get('example');
?>

保存并关闭文件。

上面的 PHP 脚本连接到 Memcached。一个带有值 “Greetings from HostMyCode!” 的新键 example 被添加到 Memcached 内存中,并使用应用程序中的 $memcached 变量检索。

使用 PHP 运行脚本以测试与 Memcached 的连接。

php memcached.php

输出:

Greetings from HostMyCode!

第六步:保护 Memcached

出于安全考虑,最好将 Memcached 绑定到 localhost 接口以防止未经授权的访问。确保 /etc/memcached.conf 中的 -l 选项设置为 127.0.0.1

-l 127.0.0.1

此外,考虑设置防火墙来限制对 Memcached 端口(11211)的访问。

使用 ufw(Uncomplicated Firewall)来限制对 Memcached 端口(11211)的访问。

如果尚未启用 ufw,请启用它:

sudo ufw enable

仅允许来自 localhost 的访问:

sudo ufw allow from 127.0.0.1 to any port 11211

验证防火墙规则:

sudo ufw status

使用 SASL 身份验证(可选)

可以使用 SASL 支持编译 Memcached 以启用身份验证。如果你需要使用身份验证来保护你的 Memcached 服务器,你可以使用 SASL 支持来编译 Memcached。这比较复杂,如果你已经将 Memcached 绑定到 localhost 并使用防火墙,则可能没有必要。

在启动时启用 Memcached。要确保 Memcached 在启动时自动启动,请启用该服务:

sudo systemctl enable memcached

结尾

在本教程中,我们成功地了解了如何在 Ubuntu 24.04 服务器上安装 Memcached。你可以将其与你的应用程序集成,通过缓存数据来提高性能。

如果你有任何其他问题或需要进一步的帮助,请随时提问!

我的博客:https://blog.ivwv.site

相关文章:

如何在 Ubuntu 24.04 上安装 Memcached 服务器教程

简介 Memcached 是一个高性能、分布式的内存缓存系统&#xff0c;旨在通过减少数据库负载来加速动态 Web 应用程序。它通过将数据和对象缓存在 RAM 中来实现这一点&#xff0c;从而最大限度地减少了从数据库或其他慢速存储层重复获取数据的需要。 本教程的目标是手把手教你如…...

《深度学习模型在鸿蒙分布式框架下的跨设备高效之旅》

在人工智能领域&#xff0c;深度学习模型的训练与推理通常需要强大的计算资源和大量的数据支持。而鸿蒙系统的分布式框架为解决这一问题提供了新的思路和方法&#xff0c;使得深度学习模型能够在多个设备之间实现高效的训练与推理。 鸿蒙分布式框架概述 鸿蒙系统是一款面向万…...

[python3]Excel解析库-xlutils

xlutils 是一组用于处理 Excel 文件的 Python 库&#xff0c;它实际上是 xlrd 和 xlwt 的扩展&#xff0c;提供了额外的功能来操作 Excel 文件。xlutils 主要由三个部分组成&#xff1a;xlutils.copy、xlutils.filter 和 xlutils.view&#xff0c;它们分别用于复制和修改现有 E…...

Springboot Bean创建流程、三种Bean注入方式(构造器注入、字段注入、setter注入)、循坏依赖问题

文章目录 1 Bean 创建流程1.1 Bean的扫描注册1.2 创建Bean的顺序 2 三种Bean注入方式2.1 构造器注入 | Constructor Injection&#xff08;推荐&#xff09;2.2 字段注入 | Field Injection&#xff08;常用&#xff09;2.3 方法注入 | Setter Injection2.4 三种方式注入顺序 3…...

mybatisX插件的使用,以及打包成配置

装mybatisX插件&#xff1b; idea连接数据库&#xff1b; 点击mybatisx-generator&#xff0c;设置自己装mybatisX插件&#xff1b; idea连接数据库&#xff1b; 点击mybatisx-generator&#xff0c;设置自己要的包和类&#xff1b; 如果要把自己的配置设置成一个自定义模板&a…...

【初阶数据结构】线性表之单链表

文章目录 前言 一、单链表的概念与结构 1.概念 2.结点 3.性质 二、实现单链表 1.结构的定义 2.链表的打印和结点的申请 3.单链表的尾插和头插 4.单链表的尾删和头删 5.单链表的查找 6.指定位置之前插入数据和指定位置之后插入数据 7.删除pos结点和删除pos之后的结…...

CentOS7通过yum安装JDK

CentOS7通过yum安装JDK 1、卸载自带的JDK 查看已安装的JDK rpm -qa | grep java删除已安装的JDK yum -y remove java-1.8.0-openjdk*验证是否删除成功 查不到版本信息则已删除成功 java -version2、安装JDK sudo yum install java-1.8.0-openjdk java-1.8.0-openjdk-deve…...

c# 常见的几种取整场景

软件取整&#xff0c;通常指的是在计算机软件中对数值进行取整操作&#xff0c;即将一个浮点数或小数转换为整数&#xff0c;同时确定如何处理小数部分。取整操作在编程和数学计算中非常常见&#xff0c;不同的取整方法适用于不同的场景。 常见的取整方法 向零取整&#xff08…...

数据库回滚:大祸临头时

原文地址 什么是数据库回滚&#xff1f; 数据库技术中&#xff0c;回滚是通过撤销对数据库所做的一项或多项更改&#xff0c;将数据库返回到先前状态的操作。它是维护数据完整性和从错误中恢复的重要机制。 什么时候需要数据库回滚&#xff1f; 数据库回滚在以下几个场景中很…...

【GoLang】两个字符串如何比较大小?以及字典顺序的比较规则

在 Go 语言中&#xff0c;字符串的比较是基于字典顺序进行的。 字典顺序的比较规则&#xff1a; 比较两个字符串从左到右逐个字符的Unicode码点值&#xff0c; 若比较结果不相等则将此结果作为字符串大小的结果&#xff0c; 若比较结果相等则比较下一位&#xff0c; 若其中一个…...

5G学习笔记之SNPN系列之UE入网和远程配置

参考&#xff1a;3GPP 23.501 5.30.2.10 Onboarding of UEs for SNPNs 小小协议搬运工 目录 0. NPN系列 1. 概述 2. SNPN作为ONN 2.1 DCS参与的入网主鉴权 2.2 DCS不参与的入网主鉴权 2.3 UE入网 3. PLMN作为ONN 4. 远程配置 0. NPN系列 1. NPN概述 2. NPN R18 3. 【SNPN系列】…...

C#版OpenCv常用函数大全

OpenCvSharp 是 OpenCV 的NET封装&#xff0c;提供了丰富的图像处理和计算机视觉功能。以下是一些常用函数及其详细说明。 1. 图像读取与显示 Cv2.ImRead 功能&#xff1a;读取图像文件并返回一个 Mat 对象。用法&#xff1a;Mat image Cv2.ImRead("path/to/image.jpg&…...

Spring Boot教程之五十二:CrudRepository 和 JpaRepository 之间的区别

Spring Boot – CrudRepository 和 JpaRepository 之间的区别 Spring Boot建立在 Spring 之上&#xff0c;包含 Spring 的所有功能。由于其快速的生产就绪环境&#xff0c;使开发人员能够直接专注于逻辑&#xff0c;而不必费力配置和设置&#xff0c;因此如今它正成为开发人员…...

蓝桥杯备考:数据结构之栈 和 stack

栈的概念以及栈的实现 栈是一种只允许在一端进行插入和删除的线性表 空栈&#xff1a;没有任何元素 入栈&#xff1a;插入元素 出栈&#xff1a;删除元素 栈本身就是一个线性表&#xff0c;我们可以写一个足够大的数组来实现栈 除此之外&#xff0c;我们还需要变量n来记录…...

solidity基础 -- 映射

在区块链的智能合约开发领域&#xff0c;Solidity 作为以太坊上最主流的编程语言之一&#xff0c;拥有诸多强大特性助力开发者构建复杂且高效的去中心化应用。其中&#xff0c;映射&#xff08;Mapping&#xff09;是一个极为关键的数据结构&#xff0c;它为合约中的数据存储与…...

Angular 11课程实践:构建高效单页应用的支持代码

本文还有配套的精品资源&#xff0c;点击获取 简介&#xff1a;Angular 11是Google支持的前端框架&#xff0c;适合构建复杂的单页应用&#xff08;SPA&#xff09;。本课程将深入介绍Angular核心特性&#xff0c;如组件化、依赖注入、数据绑定和路由&#xff0c;并且涵盖Ang…...

测试用例颗粒度说明

当我们在编写测试用例时&#xff0c;总是会遇到一个问题&#xff1a;如何确定测试用例的颗粒度&#xff1f;测试用例过于粗糙&#xff0c;可能无法全面覆盖系统的细节&#xff1b;而颗粒度过细&#xff0c;又会导致测试重复、冗余。掌握合适的颗粒度&#xff0c;不仅可以提高测…...

ESP32 IDF VScode出现头文件“无法打开 源 文件 ”,并有红色下划线警告

问题背景&#xff1a; ESP32 IDF VScode出现头文件“无法打开 源 文件 ”&#xff0c;并有红色下划线警告&#xff1a; 解决办法&#xff1a; 在工程里面的.vscode文件夹下&#xff0c;检查是否存在c_cpp_properties.json文件&#xff0c;如果没有可以手动创建添加。如图…...

Windows安装ES单机版设置密码

下载ES ES下载链接 我用的是7.17.26 启动前配置 解压之后打开D:\software\elasticsearch-7.17.26\bin\elasticsearch-env.bat 在elasticsearch-env.bat文件中修改jdk的路径 修改前 修改内容 if defined ES_JAVA_HOME (set JAVA"D:\software\elasticsearch-7.17.26\…...

Linux Docker

Docker 的定义 Docker 是一个开源的容器化平台&#xff0c;它允许开发者将应用程序及其依赖项打包成一个可移植的容器。容器是一种轻量级、独立的运行环境&#xff0c;与传统的虚拟机不同&#xff0c;容器共享主机操作系统的内核&#xff0c;通过隔离的文件系统、进程空间和网…...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义&#xff08;Task Definition&…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

Java - Mysql数据类型对应

Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...