博客
关于我
memcached高速缓存学习笔记003---利用JAVA程序操作memcached crud操作
阅读量:794 次
发布时间:2023-02-08

本文共 2071 字,大约阅读时间需要 6 分钟。

Java客户端调用Memcache服务简要指南

在Java环境中使用Memcache客户端,虽然不是很多开发者都选择这种方式,但它依然是一个可靠的选择,尤其是在处理缓存问题时。以下将详细介绍如何在Java项目中集成Memcache客户端,并实现基本的缓存功能。

安装Memcache客户端

第一步,需要下载适用于Java的Memcache客户端。Memcache提供了多个客户端实现,其中Danga Memcached Client 是最常用的之一。下载地址如下:

点击下载

下载完成后,将JAR文件添加到项目的类路径中。通常情况下,这涉及到以下步骤:

  • 在项目根目录下找到 build.gradle 文件,添加以下依赖项:

    compile 'com.danga:memcached-client:2.5.3'
  • 如果你使用的是Maven项目,添加Maven依赖:

    com.danga
    memcached-client
    2.5.3
  • 配置Memcache客户端

    在开始使用客户端之前,需要配置它以连接到Memcache服务器。以下是简单的Java代码示例:

    package com.mem;import com.danga.MemCached.MemCachedClient;import com.danga.MemCached.SockIOPool;public class MemCacheInvoke {    protected static MemCachedClient mcc = new MemCachedClient();        static {        String[] servers = {            "10.15.0.215:46697",            "10.15.0.215:46697"        };        Integer[] weights = {3, 2};        SockIOPool pool = SockIOPool.getInstance();        pool.setServers(servers);        pool.setWeights(weights);        pool.setNagle(false);        pool.setSocketTO(3000);        pool.setSocketConnectTO(0);        pool.initialize();    }    public static void main(String[] args) {        mcc.set("foo", "This is a test String");        String bar = mcc.get("foo").toString();        System.out.println(">>> " + bar);    }}

    注意事项

    • 服务器地址和权重:在代码中,servers 数组指定了Memcache服务器的地址和端口。weights 数组用于设置每个服务器的权重,用于在分布式环境中进行负载均衡。
    • TCP设置setNagle(false)禁用Nagle算法,setSocketTO(3000)设置读取超时,setSocketConnectTO(0)设置连接超时为0秒。

    启动Memcache服务

    在开发环境中,需要启动Memcache服务以测试客户端代码。使用以下命令启动Memcache:

    ./memcached -d -m 10 -u liuzhy -p 112233 -l 10.15.0.215 -P /tmp/memcached.pid

    参数说明

    • -d:运行在后台。
    • -m:指定内存限制,例如 -m 10 表示分配10MB的内存。
    • -u:指定用户身份。
    • -p:指定 Memcache监听的端口,默认为11211。
    • -l:指定监听的IP地址。
    • -P:指定PID文件。

    启动后,可以通过以下命令查看Memcache的运行状态:

    netstat -lp | grep memcached

    端口冲突处理

    如果指定的端口 -p 112233 被占用,Memcache会自动分配一个新的端口。例如,端口46697 可能会被默认分配。

    测试与验证

    在完成配置后,运行主函数:

    MemCacheInvoke.main(args);

    输出结果应为:

    >>> This is a test String

    注意

    在正式应用中,建议添加更多的 Memcache 服务器以提高可用性和容错性。此外,可以根据实际需求调整内存限制和其他TCP设置。

    通过以上步骤,你已经成功在Java项目中集成了Memcache客户端,并实现了基本的缓存功能。

    转载地址:http://xqyfk.baihongyu.com/

    你可能感兴趣的文章
    LLM;超越记忆《第 2 部分 》
    查看>>
    localhost:5000在MacOS V12(蒙特利)中不可用
    查看>>
    localStorage使用总结
    查看>>
    Lock 锁底层实现
    查看>>
    Lock和synchronized区别(以及Lock的使用)
    查看>>
    logback配置文件详解
    查看>>
    logging.config报错FileNotFoundError
    查看>>
    logstash mysql 准实时同步到 elasticsearch
    查看>>
    Logstash简介和部署---ElasticStack(ELK)工作笔记019
    查看>>
    Lua,Lua API,配置文件
    查看>>
    lumen开发问题:Call to undefined method Illuminate\Validation\Validator::make()
    查看>>
    luogu P1268 树的重量
    查看>>
    LUOGU P4095 [HEOI2013]Eden 的新背包问题
    查看>>
    Luogu2973:[USACO10HOL]赶小猪
    查看>>
    luogu3172 [CQOI2015]选数 莫比乌斯反演+杜教筛
    查看>>
    LVS-DR工作原理图文详解
    查看>>
    LVS精益价值管理系统 DownLoad.aspx 任意文件读取漏洞复现
    查看>>
    LVS精益价值管理系统 LVS.Web.ashx SQL注入漏洞复现
    查看>>
    Lync 小技巧-52-Lync 2013-不加域-客户端-2-导入-证书-信任链
    查看>>
    LZ4 1.10 压缩算法发布!具有多线程功能,压缩速度显著提高达 8 倍
    查看>>