package com.tmhc.sms.cache;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.annotation.PostConstruct;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import redis.clients.jedis.Jedis;
import com.alibaba.fastjson.JSONObject;
import com.tmhc.sms.service.SysDepartmentEntityService;
import com.tmhc.sms.utils.RedisUtil;
@Configuration
public class LoadData {
private Logger logger = Logger.getLogger(LoadData.class);
@Autowired
private SysDepartmentEntityService sysDepartmentEntityServiceImpl;
@PostConstruct
public void loadData(){
new Thread(){
public void run(){
while(true){
try {
Thread.sleep(1000*2);
} catch (InterruptedException e) {
e.printStackTrace();
}
logger.info("加载商户数据......");
List<Map<String, String>> mapList = sysDepartmentEntityServiceImpl.getDepartmentData();
Jedis jedis = RedisUtil.getJedis();
//清空缓存数据
Set<String> set = jedis.keys("depart-*");
for(String key : set){
jedis.del(key);
}
//加载所有缓存数据
for (Map<String, String> map : mapList) {
String referralcode = map.get("referralcode");
String value = JSONObject.toJSONString(map);
jedis.rpush("depart-"+referralcode, value);//在名称为key的list尾添加一个值为value的元素
}
break;
}
}
}.start();
}
}
tomcat启动时将缓存放入Redis中
最新推荐文章于 2024-09-28 14:15:52 发布