java使用Memcached简单教程

 更新时间:2013年12月08日 09:42:47   作者:  
本文主要记录Memcached的一些基本使用和简单的Monitor,大家参考使用吧

Memcached作为一个高并发内存Cached系统被很多大公司使用,最近也一直在用Memcached做项目也积累了一些相关经验。

Install
Memcached的安装很简单,在Ubuntu下面一行命令搞定。

复制代码 代码如下:

sudo apt-get install memcached

Start
实际使用的时候,memcached需要调整内存大小和端口号等命令,则启动的使用时用以下的Command就行。

复制代码 代码如下:

usr/local/bin/memcached -p 11211 -m 64m -d

-p 指定端口号
-m 指定内存大小
-d 作为daemon在后台启动
如果想trouble shotting 则加 -vv

Test
Test也很简单,安装官网的命令就行

复制代码 代码如下:

telnet localhost 11211

里面就能Get和Set了。

Use in Java
由于项目是java的,所以以java为例子来介绍Java下Memcached的使用。

Java下Memcached的客户端很多,这里介绍spymemcached

spymemcached的使用很简单,在maven项目下面,我们加入如下依赖。

复制代码 代码如下:

<dependency>
    <groupId>net.spy</groupId>
    <artifactId>spymemcached</artifactId>
    <version>2.9.1</version>
</dependency>

这样我们就能对Memcached操作了。

复制代码 代码如下:

public class Memcached {

    private static MemcachedClient MEMCACHED_CLIENT;

    static {
        try {
            MEMCACHED_CLIENT = new MemcachedClient(
                    AddrUtil.getAddresses("localhost1:11211 localhost2:11211"));
        } catch (Exception e) {
            System.err.println("Cannot init MEMCACHED Memcached Client");
        }
    }

    public static void set(String key, String value,Integer expireTime ) throws Exception {
        MEMCACHED_CLIENT.set(key, expireTime, value);
    }

    public static String get(String key) throws Exception {
        Object value = MEMCACHED_CLIENT.get(key);
        if (null != value)
            return value.toString();
        return null;
    }

}

Monitor
我们可以通过以下简单的命令得知Memcached的运行状况,以此为扩充可以实现简单的Memcached检测shell。

复制代码 代码如下:

watch "echo stats | nc 127.0.0.1 11211"

Conclusion
Memcached实际使用下来简单易用,各个平台上面也有相应的Client.

但有时高并发可能会出现Timeout的情况,导致缓冲没办法命中的情况,具体原因还需要进一步调查。

Memcahed的作者最近用Go语言去写了groupcache很值得关注。

相关文章

  • 让IntelliJ IDEA支持.vue文件的方法

    让IntelliJ IDEA支持.vue文件的方法

    这篇文章主要介绍了让IntelliJ IDEA支持.vue文件的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • Mybatis Interceptor 拦截器的实现

    Mybatis Interceptor 拦截器的实现

    这篇文章主要介绍了Mybatis Interceptor 拦截器的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • C++内存管理看这一篇就够了

    C++内存管理看这一篇就够了

    这篇文章主要介绍了C/C++中的内存管理小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-08-08
  • Java Spring中Bean的作用域及生命周期

    Java Spring中Bean的作用域及生命周期

    这篇文章主要介绍了Java Spring中Bean的作用域及生命周期,Bean的作用域默认是单例模式的,也就是说所有⼈的使⽤的都是同⼀个对象,更多相关内容需要的朋友可以参考一下
    2022-08-08
  • 一文快速掌握Spring Cloud Stream

    一文快速掌握Spring Cloud Stream

    这篇文章主要介绍了Spring Cloud Stream详解,本篇文章所涉及到的demo练习使用的cloud 2021.0.3+ springboot2.6.8,通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • java将图片分割为几个部分示例

    java将图片分割为几个部分示例

    这篇文章主要介绍了java将图片分割为几个部分示例,需要的朋友可以参考下
    2014-04-04
  • java 排序算法之快速排序

    java 排序算法之快速排序

    这篇文章主要介绍了java 排序算法之快速排序,文中通过图片和代码讲解相关知识非常详细,大家如果有需要的话可以参考一下这篇文章
    2021-09-09
  • Java IO之包装流详解

    Java IO之包装流详解

    这篇文章主要为大家介绍了Java IO之包装流,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • 详解Spring MVC拦截器实现session控制

    详解Spring MVC拦截器实现session控制

    这篇文章主要介绍了详解Spring MVC拦截器实现session控制,使用session监听,重复登录后,强制之前登录的session过期。有兴趣的可以了解一下。
    2017-01-01
  • java数据库开发之JDBC基础使用方法及实例详解

    java数据库开发之JDBC基础使用方法及实例详解

    这篇文章主要介绍了java数据库开发之JDBC基础知识详解,需要的朋友可以参考下
    2020-02-02

最新评论