博客
关于我
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 InnoDB 三大文件日志,看完秒懂
    查看>>
    Mysql InnoDB 数据更新导致锁表
    查看>>
    Mysql Innodb 锁机制
    查看>>
    MySQL InnoDB中意向锁的作用及原理探
    查看>>
    MySQL InnoDB事务隔离级别与锁机制深入解析
    查看>>
    Mysql InnoDB存储引擎 —— 数据页
    查看>>
    Mysql InnoDB存储引擎中的checkpoint技术
    查看>>
    Mysql InnoDB存储引擎中缓冲池Buffer Pool、Redo Log、Bin Log、Undo Log、Channge Buffer
    查看>>
    MySQL InnoDB引擎的锁机制详解
    查看>>
    Mysql INNODB引擎行锁的3种算法 Record Lock Next-Key Lock Grap Lock
    查看>>
    mysql InnoDB数据存储引擎 的B+树索引原理
    查看>>
    mysql innodb通过使用mvcc来实现可重复读
    查看>>
    mysql insert update 同时执行_MySQL进阶三板斧(三)看清“触发器 (Trigger)”的真实面目...
    查看>>
    mysql interval显示条件值_MySQL INTERVAL关键字可以使用哪些不同的单位值?
    查看>>
    Mysql join原理
    查看>>
    MySQL Join算法与调优白皮书(二)
    查看>>
    Mysql order by与limit混用陷阱
    查看>>
    Mysql order by与limit混用陷阱
    查看>>
    mysql order by多个字段排序
    查看>>
    MySQL Order By实现原理分析和Filesort优化
    查看>>