github链接:https://github.com/striner/javaCode/blob/master/WRedisHelper
import org.apache.commons.lang.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import redis.clients.jedis.ScanParams;
import redis.clients.jedis.ScanResult;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class WRedisHelper {
private static Logger logger = LogManager.getLogger(WRedisHelper.class);
private static final String SET_SUCCESS = "OK";
private static final String SET_IF_NOT_EXIST = "NX";
private static final String SET_EXPIRE_SECONDS = "EX";
private static WJedisSentinelPool redisSentinelPool;
private static final String APP_NAME = "aaa";
private static final int COUNT = 20;
private static final Pattern pattern = Pattern.compile("\\(\\d+\\)$"); //判断是否以带数字的括号结尾
static {
ClientConfig.init(CfgConstant.WREDIS_CONFIG_PATH);
redisSentinelPool = ClientBuilder.redisSentinel(APP_NAME).build();
}
private static WJedis getJedis() {
return redisSentinelPool.getResource();
}
private static void releaseJedis(final WJedis jedis) {
if (jedis != null) {
jedis.close();
}
}
/**
* 重名处理-获取name
* @author : mulin
* @date : 2019/8/23
*/
public static String setName(String name, Long pid, int type) throws Exception{
logger.info("setName -- name={}, pid={}, type={}", name, pid, type);
WJedis jedis = getJedis();
try {
String key = pid + "_" + name.hashCode() + "_" + type;
long offset = 0L;
//判断name是否以带数字的括号结尾
Matcher matcher = pattern.matcher(name);
if