zoukankan      html  css  js  c++  java
  • Spring集成memcached的详细介绍

    前提条件:工程需要引入jar包java_memcached-release_2.0.1.jar

    第一步:添加memcached的配置文件。

    <bean
            class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
            <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
            <property name="ignoreResourceNotFound" value="false" />
            <property name="locations">
                <list>
                    <value>classpath:memcache.properties</value>
                </list>
            </property>
    </bean>

    配置文件内容如下:
    memcache.server=xxx.xxx.xxx.xxx:11111
    memcache.weights=1
    memcache.initConn=1
    memcache.minConn=1
    memcache.maxConn=50
    memcache.maintSleep=3000
    memcache.nagle=false
    memcache.socketTO=3000

    第二步:添加memcached的bean管理。

    <bean id="memcachedPool" class="com.danga.MemCached.SockIOPool" factory-method="getInstance" 
          init-method="initialize" destroy-method="shutDown">
            <constructor-arg><value>memCachedPool</value></constructor-arg>
            <property name="servers"><list><value>${memcache.server}</value></list></property>
            <property name="weights"><list><value>${memcache.weights}</value></list></property>
            <property name="initConn"><value>${memcache.initConn}</value></property>
            <property name="minConn"><value>${memcache.minConn}</value></property>
            <property name="maxConn"><value>${memcache.maxConn}</value></property>
            <property name="maintSleep"><value>${memcache.maintSleep}</value></property>
            <property name="nagle"><value>${memcache.nagle}</value></property>
            <property name="socketTO"><value>${memcache.socketTO}</value></property>
    </bean>

    下面看一下com.danga.MemCached.SockIOPool的源代码,重点是SockIOPool构造函数:

    public static synchronized SockIOPool getInstance(String poolName)
    {
            if (pools.containsKey(poolName))
                return pools.get(poolName);
     
            SockIOPool pool = new SockIOPool();
            pools.put(poolName, pool);
     
            return pool;
    }
    <bean id="memCacheClient" class="com.danga.MemCached.MemCachedClient">
            <constructor-arg><value>memCachedPool</value></constructor-arg>
    </bean>

    下面看一下com.danga.MemCached.MemCachedClient的源代码,重点是MemCachedClient的构造函数:

    public MemCachedClient(String poolName)
    {
            this.poolName = poolName;
            init();
    }

    第三步:测试memcached的功能。

    public class MemcacheTest {
        public static void main(String[] args)
        {
            ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
            MemCachedClient memCachedClient=(MemCachedClient)context.getBean("memCacheClient");
            memCachedClient.set("hello", "swiftlet");
            memCachedClient.get("hello");
        }
    }
  • 相关阅读:
    Linux03__管理
    Linux02__常用命令
    Linux01__系统安装
    爬虫性能相关
    【转载】资源整合
    Continuous integration
    行业巨头的云计算冷数据存储应用和比较 2016-07-15
    win7中使用docker ——配置阿里云容器加速
    layui treeSelect插件的使用
    springboot 拦截器设置
  • 原文地址:https://www.cnblogs.com/mistor/p/6260690.html
Copyright © 2011-2022 走看看