文档章节

java数据提交到mencached 和redis

石头哥哥
 石头哥哥
发布于 2012/10/25 15:11
字数 577
阅读 666
收藏 7
点赞 0
评论 2

今天捣鼓了下mencached 还不错


依赖库

commons-pool-1.5.6

java_memcached-release_2.6.6

slf4j-api-1.6.1

slf4j-simple-1.6.1

mencached

第三方维护的win32版

http://splinedancer.com/memcached-win32/


package com.Mencached;

import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;

import java.util.Date;

/**
 * Created with IntelliJ IDEA.
 * User: CHENLEI
 * Date: 12-10-25
 * Time: 下午2:15
 * To change this template use File | Settings | File Templates.
 * java数据提交到mencached 测试
 */
public class MenCached {

    private static MemCachedClient mcc = new MemCachedClient();

    // set up connection pool once at class load
    static {
        // server list and weights
        String[] servers =
                {
                        "127.0.0.1:11211",
//                        "server2.mydomain.com:1624",
//                        "server3.mydomain.com:1624"
                };

        Integer[] weights = { 3 };

        // SockIOPool
        SockIOPool pool = SockIOPool.getInstance();

        // set the servers and the weights
        pool.setServers( servers );
        pool.setWeights( weights );

        // initialize、最小和最大连接数以及最大处理时间
        pool.setInitConn( 5 );
        pool.setMinConn( 5 );
        pool.setMaxConn( 250 );
        pool.setMaxIdle( 1000 * 60 * 60 * 6 );


        pool.setMaintSleep(10);//thread sleep


        pool.setNagle( false );
        pool.setSocketTO( 3000 ); //timeout read  3secs
        pool.setSocketConnectTO( 0 );

        // initialize the connection pool
        pool.initialize();
    }

    private  MenCached(){}

   //获取MenCached操作引用
    public static MenCached getInstance()
    {
        return singlton.mencached;
    }
    private static final class singlton{
        private static final MenCached mencached=new MenCached();
    }

    /**
     * 添加一个指定的值到缓存中.
     * @param key
     * @param value
     * @return
     */
    public boolean add(String key, Object value)
    {
        return mcc.add(key, value);
    }

    public boolean add(String key, Object value, Date expiry)
    {
        return mcc.add(key, value, expiry);
    }

    /**
     * 替换一个指定的值到缓存中.
     * @param key
     * @param value
     * @return
     */
    public boolean replace(String key, Object value)
    {
        return mcc.replace(key, value);
    }

    /**
     *
     * @param key
     * @param value
     * @param expiry  过期
     * @return
     */
    public boolean replace(String key, Object value, Date expiry)
    {
        return mcc.replace(key, value, expiry);
    }

    /**
     * 删除一个指定的值到缓存中.
     * @param key
     * @param
     * @return
     */
    public boolean delete(String key)
    {
        return mcc.delete(key);
    }


    /**
     * 根据指定的关键字获取对象.
     * @param key
     * @return
     */
    public Object get(String key)
    {
        return mcc.get(key);
    }

    public static void main(String[] args)
    {
        MenCached cache = MenCached.getInstance();
        long t1=System.currentTimeMillis();
        for (int i=0;i<10;i++){
            cache.add(i+"",i) ;
            System.out.println("value:"+cache.get(i+""));
        }
        System.out.println(System.currentTimeMillis()-t1);
//        System.out.println("get value : " + cache.get("key"));
    }
}

对于redis ,你需要下载redis,这里我用的是window版本,配置好redis.conf后  start redis-server.exe redis.conf启动redis.

测试,你需要https://github.com/xetorthio/jedis/downloads

jedis

java客户端

使用简单,但是相关的文献较少,要想掌握,看api,或则看看源码咯,也不是很多

package com.Mencached;

import redis.clients.jedis.Jedis;

/**
 * Created with IntelliJ IDEA.
 * User: CHENLEI
 * Date: 12-10-27
 * Time: 上午11:34
 * To change this template use File | Settings | File Templates.
 * redis test
 */
public class redisDeamo {
    //在redis.conf中配置hosts prot
    private static final Jedis jedis = new Jedis("127.0.0.1",9090);
    public static redisDeamo getInstance(){
        return sigtlon.redis;
    }
    private redisDeamo(){
    }
    private static  final class sigtlon{
      private static final redisDeamo redis=new redisDeamo();
    }

    public void setJedis(java.lang.String key, java.lang.String value){
        jedis.set(key, value);
    }

    public Object getJedis(java.lang.String key){
        return  jedis.get(key);
    }


     //test
    public static void main(String[]args){
        redisDeamo.getInstance().setJedis("foo","909090");

        String value = (String) redisDeamo.getInstance().getJedis("foo");
        System.out.println("获取的值:"+ value);

    }



}

实际的应用 还得深入的去考究 

© 著作权归作者所有

共有 人打赏支持
石头哥哥
粉丝 300
博文 188
码字总数 120786
作品 2
重庆
程序员
加载中

评论(2)

石头哥哥
石头哥哥

引用来自“震秦”的评论

添加代码的时候可以使用add code,选中java,可以代码高亮.你这样的看的眼花.

good idea
震秦
震秦
添加代码的时候可以使用add code,选中java,可以代码高亮.你这样的看的眼花.
Java程序员面试大纲—错过了金三银四,你还要错过2018吗?

跳槽时时刻刻都在发生,但是我建议大家跳槽之前,先想清楚为什么要跳槽。切不可跟风,看到同事一个个都走了,自己也盲目的开始面试起来(期间也没有准备充分),到底是因为技术原因(影响自己...

java高级架构牛人 ⋅ 04/27 ⋅ 0

Java高级程序员面试大纲——错过了金三,你还要错过银四吗

跳槽时时刻刻都在发生,但是我建议大家跳槽之前,先想清楚为什么要跳槽。切不可跟风,看到同事一个个都走了,自己也盲目的开始面试起来(期间也没有准备充分),到底是因为技术原因(影响自己...

Java高级架构 ⋅ 04/27 ⋅ 0

面试必看!2018年4月份阿里最新的java程序员面试题目

目录 技术一面(23问) 技术二面(3大块) 性能优化(21点) 项目实战(34块) JAVA方向技术考察点(15点) JAVA开发技术面试中可能问到的问题(17问) 阿里技术面试1 1.Java IO流的层次结构...

美的让人心动 ⋅ 04/16 ⋅ 0

基于可靠消息方案的分布式事务(二):Java中的事务

前言:在上一篇文章 基于可靠消息方案的分布式事务:Lottor介绍 中介绍了常见的分布式事务的解决方案以及笔者基于可靠消息方案实现的分布式事务组件Lottor的原理,并展示了应用的控制台管理。...

aoho ⋅ 06/01 ⋅ 0

YMP v2.0.5 发布,轻量级 Java 应用开发框架

YMP v2.0.5 发布了。本次版本更新主要是新增若干新特性、增加对Beetl模板引擎的支持,同时针对框架问题修复、移除编译警告及性能优化,并对依赖包升级更新。 YMP是一个非常简单、易用的轻量级...

有理想的鱼 ⋅ 04/25 ⋅ 0

新浪、百度、好未来3offer到手全记录 | 牛客面经

新浪、百度、好未来3offer到手全记录 牛客面经 原创 2017-09-19 牛友 招聘消息汇总 渣渣的秋招之路 附上新浪,百度,好未来面经 作者:offer快到碗里来?。! 来源:牛客网 楼主是本科渣渣,...

公子只识黛玉 ⋅ 04/17 ⋅ 0

Drools7.x环境搭建与简单示例

Drools是个规则引擎的开源实现。官方文档比较长。这里提供一个方法,搭建最基本的Drools运行环境,并提供一个简单示例。 环境准备: JDK 至少需要JDK 1.5以上,JDK去这里下载:http://www.or...

supergao222 ⋅ 01/10 ⋅ 0

Gson 2.8.5 发布,Google 开源的 Java JSON 类库

Gson 2.8.5 已发布,Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。 更新内容: 当抛出 AssertionError 和 IllegalArgumentException 时打印 Gson 版本 将 ...

王练 ⋅ 05/25 ⋅ 0

阿里,百度,腾讯等一线互联网公司中,Java开发的招聘标准

金三银四的跳槽热潮即将过去,在这两个月的跳槽的旺季中,作为互联网行业的三大巨头,百度、阿里巴巴、腾讯对于互联网人才有很大的吸引力,他们的员工也是众多互联网同行觊觎的资深工程师、管...

javaxuexi123 ⋅ 04/20 ⋅ 0

JAVA程序员学到什么程序可以去找工作及面试呢?

一、简历 简历里面需要包含的内容应该是学历,自己的技术栈,然后自己做过的一些项目。简历不需要太长,两页纸即可。里面应该重点写你使用过的一些框架,自己做的一些项目,以及自己的收获,...

java高级架构牛人 ⋅ 05/29 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

内核线程、轻量级进程、用户线程

线程与进程概念 在现代操作系统中,进程支持多线程。 进程是资源管理的最小单元; 线程是程序执行的最小单元。 即线程作为调度和分配的基本单位,进程作为资源分配的基本单位 一个进程的组成...

117 ⋅ 16分钟前 ⋅ 0

elasticsearch2.4.6升级为elasticsearch-5.5.0的经历

将elasticsearch-5.5.0 中的配置 path.data 指向原来的数据路径 即 path.data: /usr/local/src/elasticsearch-2.4.6/data 注意: elasticsearch-5.5.0 需要将jdk版本升级到1.8...

晨猫 ⋅ 16分钟前 ⋅ 1

lvm讲解 磁盘故障小案例

1

oschina130111 ⋅ 20分钟前 ⋅ 0

那些提升开发人员工作效率的在线工具

本文转载自公众号 Hollis 作为一个Java开发人员,经常要和各种各样的工具打交道,除了我们常用的IDE工具以外,其实还有很多工具是我们在日常开发及学习过程中要经常使用到的。 Hollis偏爱使用...

时刻在奔跑 ⋅ 33分钟前 ⋅ 0

restful风格 实现DELETE PUT请求 的web.xml的配置

import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframe......

泉天下 ⋅ 38分钟前 ⋅ 0

Shell数组

Shell数组 Shell在编程方面比Windows批处理强大很多,无论是在循环、运算。 bash支持一维数组(不支持多维数组),并且没有限定数组的大小。类似与C语言,数组元素的下标由0开始编号。获取数...

蜗牛奔跑 ⋅ 47分钟前 ⋅ 0

nmap为了开发方便 可以做简单的修改

因为nmap扫描是默认使用的是nse脚本,但是在开发的过程中需要修改后缀(主要是因为后缀为lua才能显示高亮,所以这里用一个取巧的办法) nse_main.lua文件中我们找到如下代码 local t, path = cn...

超级大黑猫 ⋅ 51分钟前 ⋅ 0

springmvc获取axios数据为null情况

场景:前端用了vue没有用ajax与后台通信,用了axios,但是在代码运行过程中发现axios传递到后台的值接受到数据为null。 问题原因:此处的问题在与axios返回给后台的数据为json类型的,后台接...

王子城 ⋅ 53分钟前 ⋅ 0

hadoop技术入门学习之发行版选择

经常会看到这样的问题:零基础学习hadoop难不难?有的人回答说:零基础学习hadoop,没有想象的那么难,也没有想象的那么容易。看到这样的答案不免觉得有些尴尬,这个问题算是白问了,因为这个...

左手的倒影 ⋅ 53分钟前 ⋅ 0

806. Number of Lines To Write String - LeetCode

Question 806. Number of Lines To Write String Solution 思路:注意一点,如果a长度为4,当前行已经用了98个单元,要另起一行。 Java实现: public int[] numberOfLines(int[] widths, Str...

yysue ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部