加载中…
个人资料
一直在沉睡
一直在沉睡
  • 博客等级:
  • 博客积分:0
  • 博客访问:33,511
  • 关注人气:6
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

alisoft-xplatform-asf-cache使用1

(2011-03-03 15:02:00)
分类: 缓存

cache的使用方法:

memcached.xml

<?xml version="1.0" encoding="UTF-8"?>
<memcached>
   
    <client name="mclient0" compressEnable="true" defaultEncoding="UTF-8" socketpool="pool0">
        <errorHandler>com.moit.xplatform.asf.cache.memcached.MemcachedErrorHandler</errorHandler>
    </client>
   
    <client name="mclient1" compressEnable="true" defaultEncoding="UTF-8" socketpool="pool1">
        <errorHandler>com.moit.xplatform.asf.cache.memcached.MemcachedErrorHandler</errorHandler>
    </client>
   
    <client name="mclient2" compressEnable="true" defaultEncoding="UTF-8" socketpool="pool2">
        <errorHandler>com.moit.xplatform.asf.cache.memcached.MemcachedErrorHandler</errorHandler>
    </client>

   
    <socketpool name="pool0" failover="true" initConn="5" minConn="5" maxConn="250" maintSleep="0"
        nagle="false" socketTO="3000" aliveCheck="true">
        <servers>192.168.3.251:11211,192.168.3.251:11211</servers>
    </socketpool>
   
    <socketpool name="pool1" failover="true" initConn="5" minConn="5" maxConn="250" maintSleep="0"
        nagle="false" socketTO="3000" aliveCheck="true">
        <servers>192.168.3.251:11211,192.168.3.251:11211</servers>
    </socketpool>
   
    <socketpool name="pool2" failover="true" initConn="5" minConn="5" maxConn="250" maintSleep="0"
        nagle="false" socketTO="3000" aliveCheck="true">
        <servers>192.168.3.251:11211,192.168.3.251:11211</servers>
    </socketpool>

    <cluster name="cluster1">
        <memCachedClients>mclient1,mclient2</memCachedClients>
    </cluster>

</memcached>

//用containsKey方法判断cache服务器按指定的key值是否存在。
System.out.println("是否包含了key的数据="+cache.containsKey("key"));
if(cache.containsKey("key"))
{
    System.out.println("包含了key的数据");
    System.out.println("从cache服务器获得key值");
}
else
{
    System.out.println("没有包含了key的数据");
    System.out.println("cache服务器,没有数据,则去取数据库数据!");
}

例子:
static ICacheManager<IMemcachedCache> manager;


public String memcache()
{
    manager = CacheUtil.getCacheManager(IMemcachedCache.class,
    MemcachedCacheManager.class.getName());
    manager.start();
    try
    {
      IMemcachedCache cache = manager.getCache("mclient0");
      //根据key得到缓存数据
      String a =(String)cache.get("key");
      //用containsKey方法判断cache服务器按指定的key值是否存在。
      System.out.println("是否包含了key的数据="+cache.containsKey("key"));
      if(cache.containsKey("key"))
      {
        System.out.println("包含了key的数据");
        System.out.println("从cache服务器获得key值");
      }
      else
      {
        System.out.println("没有包含了key的数据");
        System.out.println("cache服务器,没有数据,则去取数据库数据!");
      }
      //根据key删除服务器上的对应的缓存数据
      cache.remove("key");
      //根据key保存数据到服务器上
      cache.put("key", "你好!");
      //设置带有过期时间的例子

      //过30分钟
      Calendar calendar = Calendar.getInstance();//当前日期
        calendar.setTime(new Date());
        calendar.add(Calendar.MINUTE, 30);//
        cache.remove("keytime");
        cache.put("keytime", "30分钟后过期",calendar.getTime());
        System.out.println("30分钟后过期=keytime="+cache.get("keytime"));
        System.out.println("cache服务器getTime="+calendar.getTime());  
  
   }finally{ manager.stop();}

     //jsp 使用请参考test.jsp文件
     return "testmempage";
}

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有