Java动态缓存技术:WEB缓存应用

五月 18, 2008 作者:admin  
类别:JAVA开发

可以实现不等待,线程自动更新缓存

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

五月 18, 2008 作者:admin  
类别:WEB技术

看到一些不错的WordPress主题,好多还是收费的,都有免费提供下载,有须要的朋友值得看看。

地址:http://www.arthack.org/wp-themes

 

 

 

WordPress永久链接设置技巧

五月 18, 2008 作者:admin  
类别:WEB技术

一个网站的永久链接可谓网站的门牌号,好的永久链接可以更受搜索引擎的欢迎,同时也能为你带来更多的流量。那么如何设置永久链接或固定链接才好呢? 我想这个问题也是仁者见仁,智者见智,各有各的看法。下面介绍了WordPress 中,永久链接或固定链接设置技巧,算是我的一家之言吧。

1. 如何设置WordPress 永久链接

登陆WordPress,单击“选项”。然后单击“选项”的下级分类‘永久链接’在常规设置中选择“自定义”,然后在“自定义结构”中填入你想设置的永久链接结构就可以了。

WordPress 永久链接结构主要是通过结构标签来构成的,你只要了解了这些标签就可以任意设置你的永久链接了。WordPress 永久链接结构标签主要有如下这些: 阅读全文

MYSQL基本命令

五月 2, 2008 作者:admin  
类别:WEB技术

一、连接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 (回车) 阅读全文