文档章节

maven spring 使用memcached方法

KeepMoving
 KeepMoving
发布于 2015/02/25 15:07
字数 531
阅读 134
收藏 1

maven配置mem的方法看maven加载memcached方法

memcached.properties:

#设置Memcached服务器参数
#设置服务器地址
memcached.server=127.0.0.1:11211
#容错
memcached.failOver=true
#设置初始连接数
memcached.initConn=20
#设置最小连接数
memcached.minConn=10
#设置最大连接数
memcached.maxConn=250
#设置连接池维护线程的睡眠时间
memcached.maintSleep=3000
#设置是否使用Nagle算法(Socket的参数),如果是true在写数据时不缓冲,立即发送出去
memcached.nagle=false
#设置socket的读取等待超时时间
memcached.socketTO=3000
#设置连接心跳监测开关
memcached.aliveCheck=true

applicationContext-memcached.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jee="http://www.springframework.org/schema/jee"
    xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"
    default-lazy-init="false" >
    <bean id="memCachedPool" class="com.whalin.MemCached.SockIOPool" factory-method="getInstance" init-method="initialize" destroy-method="shutDown" >
        <constructor-arg>
            <value>memCachedPool</value>
        </constructor-arg>
        <property name="servers">
            <list>
                <value>${memcached.server}</value>
            </list>
        </property>
        <property name="initConn">
            <value>${memcached.initConn}</value>
        </property>
            
        <property name="minConn">
            <value>${memcached.minConn}</value>
        </property>

        <property name="maxConn">
            <value>${memcached.maxConn}</value>
        </property>

        <property name="maintSleep">
            <value>${memcached.maintSleep}</value>
        </property>

        <property name="nagle">
            <value>${memcached.nagle}</value>
        </property>

        <property name="socketTO">
            <value>${memcached.socketTO}</value>
        </property>
    </bean>
    <bean id="memCachedClient" class="com.whalin.MemCached.MemCachedClient">
        <constructor-arg>
            <value>memCachedPool</value>
        </constructor-arg>
    </bean>
</beans>

注意:由于刚开始没有在

<bean id="memCachedPool" lazy-init="false"

中加入lazy-init="false" 提示SockIOPool 没有初始化,这个应该跟spring加载各模块的顺序有关,没有深究,可以查看问题:使用spring和memcached的困惑

java代码:

package com.nd.friend.component;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import com.whalin.MemCached.MemCachedClient;  

/**
 * memcached组件
 * 
 * 
 * @author kxn
 * @since 2015/02/25
 *
 */

@Component
public class MemcachedFactory {

    @Autowired
    BeanFactory beanFactory;

    public final MemCachedClient getInstance() {
        
        MemCachedClient memObj = null;
        memObj = (MemCachedClient) beanFactory.getBean("memCachedClient");
        if (memObj == null) {
            throw new RuntimeException("MemCachedClient is null....");
        }
        return memObj;
    }

}

使用:

import com.nd.friend.component.MemcachedFactory;
import com.whalin.MemCached.MemCachedClient; 
public class CommentController {
    @Autowired
    private MemcachedFactory memFactory;

    public void test(){
        MemCachedClient memObj = memFactory.getInstance();
        memObj.set("name", "kxn");  
        System.out.println(memObj.get("name"));// cache_1  
        System.out.println(memObj.get("name2"));// null  
    }
}

说明:代码中的improt的包 根据实际情况使用,这边记录以备忘学习

© 著作权归作者所有

共有 人打赏支持
KeepMoving
粉丝 12
博文 20
码字总数 3503
作品 0
厦门
高级程序员
征服 Redis + Jedis

用Memcached,对于缓存对象大小有要求,单个对象不得大于1MB,且不支持复杂的数据类型,譬如SET 等。基于这些限制,有必要考虑Redis! 相关链接: 征服 Redis 征服 Redis + Jedis 征服 Redi...

凯文加内特
2015/03/18
0
0
memcached 在maven项目中使用

还在继续使用我的maven来整理系统 ,当然前段时间也讲了如何使用maven 可能memcached没有写好文章 失误,下面的文章会补上。 今天在整理系统的时候 发现我的memcached是百度下的jar 直接在家...

杨中仁
2015/06/28
0
3
Spring依赖注入:在spring配置文件中使用properties配置文件

spring的配置文件相对是固定的,通常作为资源文件存在,而程序中经常会有一些需要配置的变量,比如数据库的连接信息,memcached的地址信息等等,这些信息最好单独放在java的配置文件propert...

yuanyuan_186
2015/11/13
0
0
xmemcached的使用以及与spring的整合

memcache:http://memcached.org/ github地址:https://github.com/killme2008/xmemcached 其他客户端: https://code.google.com/archive/p/spymemcached/ http://github.com/gwhalin/Memc......

菜蚜
2014/12/16
0
3
spring boot1.3之项目构建

你可以跟使用java标准库一样来使用spring boot。把适当的spring-boot-*.jar放到classpath中,spring boot并不需要任何其他的集成工具,所以你能使用任何IDE和代码编辑器。spring boot程序并不...

柳哥
2015/05/17
0
1

没有更多内容

加载失败,请刷新页面

加载更多

Shell特殊符号总结以及cut,sort,wc,uniq,tee,tr,split命令

特殊符号总结一 * 任意个任意字符 ? 任意一个字符 # 注释字符 \ 脱义字符 | 管道符 # #号后的备注被忽略[root@centos01 ~]# ls a.txt # 备注 a.txt[root@centos01 ~]# a=1[root@centos01...

野雪球
33分钟前
1
0
OSChina 周二乱弹 —— 程序员圣衣

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @达尔文:分享Skeeter Davis的单曲《The End of the World》 《The End of the World》- Skeeter Davis 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
48分钟前
4
0
[ python import module ] 导入模块

import moudle_name ----> import module_name.py ---> import module_name.py文件路径 -----> sys.path (这里进行查找文件) # from app.web import Personimport app.web.Person as Pe......

_______-
昨天
3
0
Redis性能问题排查解决手册

一、性能相关的数据指标 通过Redis-cli命令行界面访问到Redis服务器,然后使用info命令获取所有与Redis服务相关的信息。通过这些信息来分析文章后面提到的一些性能指标。 nfo命令输出的数据可...

IT--小哥
昨天
1
0
mixin混入

①新建mixin.js文件 const mixin = { methods: { /** * 分页公共方法 */ handleSizeChange(val) { this.pageData.size = val; this.query(); }, hand......

不负好时光
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部