Java动态缓存技术:WEB缓存应用
可以实现不等待,线程自动更新缓存
java动态缓jar包http://dl2.csdn.net/down4/20070918/18203740920.jar
源代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | package com.cari.web.cache; /** *//** * @author zsy * */ public class CacheData ...{ private Object data; private long time; private int count; public CacheData() ...{ } public CacheData(Object data, long time, int count) ...{ this.data = data; this.time = time; this.count = count; } public CacheData(Object data) ...{ this.data = data; this.time = System.currentTimeMillis(); this.count = 1; } public void addCount() ...{ count++; } public int getCount() ...{ return count; } public void setCount(int count) ...{ this.count = count; } public Object getData() ...{ return data; } public void setData(Object data) ...{ this.data = data; } public long getTime() ...{ return time; } public void setTime(long time) ...{ this.time = time; } } |
CacheOperation.java 缓存处理类:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | package com.cari.web.cache; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Arrays; import java.util.Hashtable; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; /** *//** * @author zsy */ public class CacheOperation ...{ private static final Log log = LogFactory.getLog(CacheOperation.class); private static CacheOperation singleton = null; private Hashtable cacheMap;//存放缓存数据 private ArrayList threadKeys;//处于线程更新中的key值列表 public static CacheOperation getInstance() ...{ if (singleton == null) ...{ singleton = new CacheOperation(); } return singleton; } private CacheOperation() ...{ cacheMap = new Hashtable(); threadKeys = new ArrayList(); } /** *//** * 添加数据缓存 * 与方法getCacheData(String key, long intervalTime, int maxVisitCount)配合使用 * @param key * @param data */ public void addCacheData(String key, Object data) ...{ addCacheData(key, data, true); } private void addCacheData(String key, Object data, boolean check) ...{ if (Runtime.getRuntime().freeMemory() < 5L*1024L*1024L) ...{//虚拟机内存小于10兆,则清除缓存 log.warn("WEB缓存:内存不足,开始清空缓存!"); removeAllCacheData(); return; } else if(check && cacheMap.containsKey(key)) ...{ log.warn("WEB缓存:key值= " + key + " 在缓存中重复, 本次不缓存!"); return; } cacheMap.put(key, new CacheData(data)); } /** *//** * 取得缓存中的数据 * 与方法addCacheData(String key, Object data)配合使用 * @param key * @param intervalTime 缓存的时间周期,小于等于0时不限制 * @param maxVisitCount 访问累积次数,小于等于0时不限制 * @return */ public Object getCacheData(String key, long intervalTime, int maxVisitCount) ...{ CacheData cacheData = (CacheData)cacheMap.get(key); if (cacheData == null) ...{ return null; } if (intervalTime > 0 && (System.currentTimeMillis() - cacheData.getTime()) > intervalTime) ...{ removeCacheData(key); return null; } if (maxVisitCount > 0 && (maxVisitCount - cacheData.getCount()) <= 0) ...{ removeCacheData(key); return null; } else ...{ cacheData.addCount(); } return cacheData.getData(); } |
WordPress Themes
看到一些不错的WordPress主题,好多还是收费的,都有免费提供下载,有须要的朋友值得看看。
地址:http://www.arthack.org/wp-themes






WordPress永久链接设置技巧
一个网站的永久链接可谓网站的门牌号,好的永久链接可以更受搜索引擎的欢迎,同时也能为你带来更多的流量。那么如何设置永久链接或固定链接才好呢? 我想这个问题也是仁者见仁,智者见智,各有各的看法。下面介绍了WordPress 中,永久链接或固定链接设置技巧,算是我的一家之言吧。
1. 如何设置WordPress 永久链接
登陆WordPress,单击“选项”。然后单击“选项”的下级分类‘永久链接’在常规设置中选择“自定义”,然后在“自定义结构”中填入你想设置的永久链接结构就可以了。
WordPress 永久链接结构主要是通过结构标签来构成的,你只要了解了这些标签就可以任意设置你的永久链接了。WordPress 永久链接结构标签主要有如下这些: 阅读全文
MYSQL基本命令
一、连接MYSQL。
格式: mysql -h主机地址 -u用户名 -p用户密码
1、例1:连接到本机上的MYSQL。
首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>
2、例2:连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:
mysql -h110.110.110.110 -uroot -pabcd123
(注:u与root可以不用加空格,其它也一样)
3、退出MYSQL命令: exit (回车) 阅读全文

