当前位置:首页 > 行业动态 > 正文

如何快速上手Memcached,安装与配置全解析?

Memcached 是一个高性能的分布式内存对象缓存系统。安装时,首先在官网下载适合的版本,然后解压并编译安装。配置方面,主要修改 linux 系统中的 /etc/memcached.conf 文件,设置端口、内存大小等参数。启动 memcached 服务后,即可使用客户端进行数据存取操作。

Memcached 是一个高性能的分布式内存对象缓存系统,主要用于动态Web应用中减轻数据库负载,通过将数据存储在内存中,它能够快速访问数据,减少对数据库的直接读取次数,从而显著提升应用程序的性能和响应速度,以下是关于Memcached安装与配置的详细介绍:

准备工作

1、下载Memcached

从官方网站(http://memcached.org)下载最新版本的Memcached源码包或预编译二进制文件。

2、硬件和软件要求

操作系统:Linux、Unix、Windows等。

内存:建议至少1GB RAM。

硬盘:至少10GB可用空间。

在Linux上安装Memcached

1、使用apt安装(Ubuntu/Debian)

“`bash

sudo apt update

sudo apt install memcached libmemcachedtools

sudo systemctl start memcached

sudo systemctl enable memcached

“`

2、使用yum安装(CentOS/RHEL)

“`bash

sudo yum update

sudo yum install memcached

sudo systemctl start memcached

sudo systemctl enable memcached

“`

3、使用Homebrew安装(macOS)

“`bash

brew update

brew install memcached

brew services start memcached

“`

4、在Windows上安装

从Memcached for Windows网站下载最新的Windows版本。

解压并安装到指定目录,例如C:memcached

打开命令提示符,导航到Memcached目录并运行以下命令启动Memcached:

“`cmd

memcached.exe d start

“`

配置Memcached

1、基本配置

Memcached的配置文件通常位于/etc/memcached.conf,以下是一些常用配置选项:

p:设置监听端口,默认是11211。

m:设置最大内存使用量,单位为MB。

c:设置最大连接数,默认是1024。

u:设置运行Memcached的用户。

l:设置监听的IP地址,默认是所有可用地址。

示例配置:

“`bash

d

m 64

p 11211

u memcache

l 127.0.0.1

“`

2、系统服务配置

在Ubuntu/Debian上配置系统服务:

“`bash

sudo nano /etc/systemd/system/memcached.service

“`

添加以下内容:

“`ini

[Unit]

Description=Memcached

After=network.target

[Service]

User=memcache

ExecStart=/usr/bin/memcached m 64 p 11211 u memcache c 1024

ExecStop=/bin/kill s QUIT $MAINPID

Restart=always

[Install]

WantedBy=multiuser.target

“`

然后运行:

“`bash

sudo systemctl daemonreload

sudo systemctl enable memcached

sudo systemctl start memcached

“`

在CentOS/RHEL上配置系统服务:

创建服务配置文件:

“`bash

sudo nano /etc/systemd/system/memcached.service

“`

添加以下内容:

“`ini

[Unit]

Description=Memcached

After=network.target

[Service]

User=memcache

ExecStart=/usr/bin/memcached m 64 p 11211 u memcache c 1024

ExecStop=/bin/kill s QUIT $MAINPID

Restart=always

[Install]

WantedBy=multiuser.target

“`

然后运行:

“`bash

sudo systemctl daemonreload

sudo systemctl enable memcached

sudo systemctl start memcached

“`

使用Memcached客户端库

1、Python客户端

安装pymemcache库:

“`bash

pip install pymemcache

“`

示例代码:

“`python

from pymemcache.client import base

client = base.Client((‘localhost’, 11211))

client.set(‘key’, ‘value’)

value = client.get(‘key’)

print(value) # 输出: value

“`

2、Java客户端

下载并引入java_memcachedrelease.jar到项目中。

示例代码:

“`java

import java.util.Date;

import com.danga.MemCached.MemCachedClient;

import com.danga.MemCached.SockIOPool;

public class MemCachedTest {

protected static MemCachedClient mcc = new MemCachedClient();

protected static SockIOPool pool = SockIOPool.getInstance();

public static void main(String[] args) {

try {

String[] servers = { "127.0.0.1:11211" };

Integer[] weights = { 3 };

pool.setServers(servers);

pool.setWeights(weights);

pool.setInitConn(5);

pool.setMinConn(5);

pool.setMaxConn(250);

pool.setMaxIdle(1000 * 60 * 6);

pool.setMaintSleep(30);

pool.setNagle(false);

pool.setSocketTO(3000);

pool.setAliveCheck(true);

mcc.set("some_key", 3600, "some_value");

System.out.println(mcc.get("some_key")); // 输出: some_value

} catch (Exception e) {

e.printStackTrace();

} finally {

pool.shutDown();

}

}

}

“`

3、PHP客户端

安装Memcached扩展:

“`bash

sudo apt install phpmemcached

“`

示例代码:

“`php

<?php

$memcached = new Memcached();

$memcached>addServer(‘localhost’, 11211);

$memcached>set(‘key’, ‘value’);

$value = $memcached>get(‘key’);

echo $value; // 输出: value

?>

“`

常见问题及解决方法

1、无法启动服务:检查是否安装了必要的依赖项,如libmemcached和libevent,确保配置文件中的参数正确无误,如果错误信息不明确,可以查看系统日志以获取更多详细信息。

2、内存不足:根据服务器的实际内存情况调整Memcached的最大内存使用量(m参数),避免分配过多内存导致系统其他进程资源不足,可以通过监控工具实时监控内存使用情况,并及时调整配置。

通过上述步骤,您已经成功安装了Memcached,并进行了基本的配置和使用,在实际生产环境中,可以根据具体需求进一步优化配置,以提高Memcached的性能和可靠性。

0