博客
关于我
memcached高速缓存学习笔记003---利用JAVA程序操作memcached crud操作
阅读量:796 次
发布时间: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/

    你可能感兴趣的文章
    MySQL主从同步相关-主从多久的延迟?
    查看>>
    mysql主从同步配置方法和原理
    查看>>
    mysql主从复制 master和slave配置的参数大全
    查看>>
    MySQL主从复制几个重要的启动选项
    查看>>
    MySQL主从复制及排错
    查看>>
    mysql主从复制及故障修复
    查看>>
    MySQL主从复制的原理和实践操作
    查看>>
    webpack loader配置全流程详解
    查看>>
    mysql主从复制,读写分离,半同步复制实现
    查看>>
    MySQL主从失败 错误Got fatal error 1236解决方法
    查看>>
    MySQL主从架构与读写分离实战
    查看>>
    MySQL主从篇:死磕主从复制中数据同步原理与优化
    查看>>
    mysql主从配置
    查看>>
    MySQL之2003-Can‘t connect to MySQL server on ‘localhost‘(10038)的解决办法
    查看>>
    MySQL之CRUD
    查看>>
    MySQL之DML
    查看>>
    Mysql之IN 和 Exists 用法
    查看>>
    MYSQL之REPLACE INTO和INSERT … ON DUPLICATE KEY UPDATE用法
    查看>>
    MySQL之SQL语句优化步骤
    查看>>
    MYSQL之union和order by分析([Err] 1221 - Incorrect usage of UNION and ORDER BY)
    查看>>