缓存key的应用

   /**
     * <pre>
     * 一种自定义生成key的方法 md5后 
     * 注解 CacheAnnotation 就是使用这种方法参数key
     * </pre>
     * 
     * @return after md5 --> prefix(args1,args2,args3)
     */
    public static String md5CacheKey(String prefix, Object... args) {
        return MD5Utils.md5(cacheKey(prefix, args));
    }

    /**
     * 一种自定义生成key的方法 未md5
     * 
     * @return prefix(args1,args2,args3)
     */
    public static String cacheKey(String prefix, Object... args) {
        StringBuilder sb = new StringBuilder(prefix + "(");
        if (args.length > 0) {
            for (Object arg : args) {
                if (arg == null) {
                    sb.append(null + ",");
                } else if (arg instanceof Map) {
                    TreeMap treeMap = new TreeMap();
                    treeMap.putAll((Map) arg);
                    sb.append(treeMap + ",");
                } else {
                    sb.append(arg + ",");
                }
            }
            sb.deleteCharAt(sb.length() - 1);
        }

        return sb.append(")").toString();
    }

猜你喜欢

转载自5keit.iteye.com/blog/2317297