博客
关于我
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中json_extract的使用方法
    查看>>
    mysql中kill掉所有锁表的进程
    查看>>
    mysql中like % %模糊查询
    查看>>
    MySql中mvcc学习记录
    查看>>
    mysql中null和空字符串的区别与问题!
    查看>>
    MySQL中ON DUPLICATE KEY UPDATE的介绍与使用、批量更新、存在即更新不存在则插入
    查看>>
    MYSQL中TINYINT的取值范围
    查看>>
    MySQL中UPDATE语句的神奇技巧,让你操作数据库如虎添翼!
    查看>>
    Mysql中varchar类型数字排序不对踩坑记录
    查看>>
    MySQL中一条SQL语句到底是如何执行的呢?
    查看>>
    MySQL中你必须知道的10件事,1.5万字!
    查看>>
    MySQL中使用IN()查询到底走不走索引?
    查看>>
    Mysql中使用存储过程插入decimal和时间数据递增的模拟数据
    查看>>
    MySql中关于geometry类型的数据_空的时候如何插入处理_需用null_空字符串插入会报错_Cannot get geometry object from dat---MySql工作笔记003
    查看>>
    mysql中出现Incorrect DECIMAL value: '0' for column '' at row -1错误解决方案
    查看>>
    mysql中出现Unit mysql.service could not be found 的解决方法
    查看>>
    mysql中出现update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在 dpkg: 处理软件包 mysql-server-8.0的解决方法(全)
    查看>>
    Mysql中各类锁的机制图文详细解析(全)
    查看>>
    MySQL中地理位置数据扩展geometry的使用心得
    查看>>
    Mysql中存储引擎简介、修改、查询、选择
    查看>>