Pu Zhibing
2025-04-22 279d3bbbe15d4839cba8dfb48053c75b504aacc3
修改缓存连接方式
4个文件已修改
192 ■■■■ 已修改文件
ManagementZYTravel/guns-admin/pom.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/HomeController.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/RedisUtil.java 167 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementZYTravel/guns-admin/src/main/resources/application.yml 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementZYTravel/guns-admin/pom.xml
@@ -61,11 +61,10 @@
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>2.9.0</version>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <!-- 导入Excel数据依赖 start -->
ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/HomeController.java
@@ -169,13 +169,14 @@
            ne1.eq("companyId", companyId).or().eq("franchiseeId", companyId);
        }
        List<TDriver> tDrivers = tDriverService.selectList(ne1);
        String keys = "";
        List<String> driver_position = new ArrayList<>();
        for(TDriver driver : tDrivers){
            keys += "DRIVER" + driver.getId() + ",";
            String value = redisUtil.getValue("DRIVER" + driver.getId());
            if(ToolUtil.isNotEmpty(value)){
                driver_position.add(value);
            }
        }
        String value = redisUtil.getValues(keys.substring(0, keys.length() - 1));
        JSONArray jsonArray = JSON.parseArray(value);
        map1.put("netcardriver", jsonArray.size());  //在线司机
        map1.put("netcardriver", driver_position.size());  //在线司机
        Wrapper<TOrderTaxi> travelTime1 = new EntityWrapper<TOrderTaxi>().between("travelTime", calendar1.getTime(), calendar2.getTime());
        if(companyId != null){
ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/RedisUtil.java
@@ -1,21 +1,12 @@
package com.stylefeng.guns.modular.system.util;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.stylefeng.guns.core.util.ToolUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import java.util.HashMap;
import java.util.Map;
import org.springframework.util.StringUtils;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
/**
@@ -23,30 +14,24 @@
 */
@Component
public class RedisUtil {
    @Autowired
    private RedisTemplate redisTemplate;
    /**
     * 向redis中存储字符串没有过期时间
     * @param key
     * @param value
     */
    public void setStrValue(String key, String value){
        if(ToolUtil.isNotEmpty(key)){
            //将请求头部和参数合成一个请求
            Map<String,String> map = new HashMap<>();
            map.put("key", key);
            map.put("value", value);
            String s = HttpRequestUtil.postRequest(PushURL.zull_user_url + "/redis/setValue_", map);
            JSONObject jsonObject = JSON.parseObject(s, JSONObject.class);
            if(jsonObject.getIntValue("code") != 200){
                System.err.println("调用redis出错了");
            }
        if(ToolUtil.isNotEmpty(key) && ToolUtil.isNotEmpty(value)){
            redisTemplate.opsForValue().set(key, value);
        }
    }
    /**
     * 以分钟为单位设置存储值(设置过期时间)
     * @param key
@@ -54,20 +39,12 @@
     * @param time 秒
     */
    public void setStrValue(String key, String value, int time){
        if(ToolUtil.isNotEmpty(key)){
            Map<String,String> map = new HashMap<>();
            map.put("key", key);
            map.put("value", value);
            map.put("time", String.valueOf(time));
            String s = HttpRequestUtil.postRequest(PushURL.zull_user_url + "/redis/setValue", map);
            JSONObject jsonObject = JSON.parseObject(s, JSONObject.class);
            if(jsonObject.getIntValue("code") != 200){
                System.err.println("调用redis出错了");
            }
        if(ToolUtil.isNotEmpty(key) && ToolUtil.isNotEmpty(value)){
            redisTemplate.opsForValue().set(key, value, time, TimeUnit.SECONDS);
        }
    }
    /**
     * 从redis中获取值
     * @param key
@@ -75,55 +52,81 @@
     */
    public String getValue(String key){
        if(ToolUtil.isNotEmpty(key)){
            Map<String,String> map = new HashMap<>();
            map.put("key", key);
            String s = HttpRequestUtil.postRequest(PushURL.zull_user_url + "/redis/getValue", map);
            JSONObject jsonObject = JSON.parseObject(s, JSONObject.class);
            if(jsonObject.getIntValue("code") != 200){
                System.err.println("调用redis出错了");
            }
            return jsonObject.getString("data");
            String data = (String) redisTemplate.opsForValue().get(key);
            return data;
        }
        return null;
    }
    /**
     * 从redis中获取值
     * @param key
     * @return
     */
    public String getValues(String key){
        if(ToolUtil.isNotEmpty(key)){
            Map<String,String> map = new HashMap<>();
            map.put("keys", key);
            String s = HttpRequestUtil.postRequest(PushURL.zull_user_url + "/redis/getValues", map);
            JSONObject jsonObject = JSON.parseObject(s, JSONObject.class);
            if(jsonObject.getIntValue("code") != 200){
                System.err.println("调用redis出错了");
            }
            return jsonObject.getString("data");
        }
        return null;
    }
    /**
     * 删除key
     * @param key
     */
    public String remove(String key){
    public void remove(String key){
        if(ToolUtil.isNotEmpty(key)){
            Map<String,String> map = new HashMap<>();
            map.put("key", key);
            String s = HttpRequestUtil.postRequest(PushURL.zull_user_url + "/redis/getValue", map);
            JSONObject jsonObject = JSON.parseObject(s, JSONObject.class);
            if(jsonObject.getIntValue("code") != 200){
                System.err.println("调用redis出错了");
            }
            return jsonObject.getString("data");
            redisTemplate.delete(key);
        }
        return null;
    }
    /**
     * redis加锁
     * @param key
     * @param value
     * @param time
     * @return
     */
    public boolean lock(String key, String value, int time){
        if(!StringUtils.isEmpty(key)){
            key += "_lock";
            return redisTemplate.opsForValue().setIfAbsent(key, value);
        }
        return false;
    }
    /**
     * 获取redis锁
     * @param time
     * @return
     */
    public boolean lock(int time){
        String uuid = UUID.randomUUID().toString();
        return lock("redis", uuid, time);
    }
    public boolean lock(String key, int time){
        String uuid = UUID.randomUUID().toString();
        return lock(key, uuid, time);
    }
    /**
     * redis释放锁
     * @param key
     * @return
     */
    public boolean unlock(String key){
        if(!StringUtils.isEmpty(key)){
            key += "_lock";
            return redisTemplate.delete(key);
        }
        return false;
    }
    /**
     * 删除锁
     * @return
     */
    public boolean unlock(){
        return unlock("redis");
    }
}
ManagementZYTravel/guns-admin/src/main/resources/application.yml
@@ -2,7 +2,7 @@
  port: 8010
guns:
  swagger-open: true              #是否开启swagger (true/false)
  swagger-open: false              #是否开启swagger (true/false)
  kaptcha-open: false             #是否开启登录时验证码 (true/false)
  spring-session-open: false      #是否开启spring session,如果是多机环境需要开启(true/false)
  session-invalidate-time: 1800     #session失效时间(只在单机环境下生效,多机环境在SpringSessionConfig类中配置) 单位:秒
@@ -29,6 +29,11 @@
    multipart:
      max-request-size: 100MB
      max-file-size: 100MB
  redis:
    database: 0
    host: 127.0.0.1
    port: 16379
    password: mPMHThYzlT8DWgl8HLqwPEyPOiHDPPB5
mybatis-plus:
  type-aliases-package: com.stylefeng.guns.modular.system.model