From 0892d843cd394f383ff50f480f7f22f2ec3829bc Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期五, 27 六月 2025 20:24:45 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ltkj-framework/src/main/java/com/ltkj/framework/config/RedisConfig.java | 109 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 109 insertions(+), 0 deletions(-) diff --git a/ltkj-framework/src/main/java/com/ltkj/framework/config/RedisConfig.java b/ltkj-framework/src/main/java/com/ltkj/framework/config/RedisConfig.java index 42ca229..806ae9e 100644 --- a/ltkj-framework/src/main/java/com/ltkj/framework/config/RedisConfig.java +++ b/ltkj-framework/src/main/java/com/ltkj/framework/config/RedisConfig.java @@ -1,13 +1,20 @@ package com.ltkj.framework.config; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; import org.springframework.cache.annotation.CachingConfigurerSupport; import org.springframework.cache.annotation.EnableCaching; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.RedisConnectionFactory; +import org.springframework.data.redis.connection.jedis.JedisConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.script.DefaultRedisScript; import org.springframework.data.redis.serializer.StringRedisSerializer; +import redis.clients.jedis.JedisPoolConfig; + +import java.io.*; +import java.util.Properties; /** * redis閰嶇疆 @@ -16,7 +23,15 @@ */ @Configuration @EnableCaching +@Slf4j public class RedisConfig extends CachingConfigurerSupport { + + @Value ("${config.properties}") + private String url; + + @Value ("${config.path}") + private String path; + @Bean @SuppressWarnings(value = {"unchecked", "rawtypes"}) public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory connectionFactory) { @@ -38,6 +53,100 @@ } @Bean + public JedisPoolConfig jedisPoolConfig() { + JedisPoolConfig config = new JedisPoolConfig(); + // 璁剧疆JedisPoolConfig鐨勭浉鍏冲弬鏁帮紝渚嬪鏈�澶ц繛鎺ユ暟銆佹渶澶х┖闂叉椂闂寸瓑 +// config.setMinIdle(0); +// config.setMaxIdle(8); +// config.setMaxTotal(8); +// config.setMaxWaitMillis(-1); +// config.setTestOnBorrow(true); +// config.setTestOnReturn(true); + return config; + } + @Bean + public RedisConnectionFactory redisConnectionFactory(JedisPoolConfig jedisPoolConfig) { + JedisConnectionFactory factory = new JedisConnectionFactory(); + // 浠庢枃浠朵腑璇诲彇閰嶇疆淇℃伅 + try { + FileInputStream fis = null; + Properties props = new Properties(); + try { + fis = new FileInputStream(url); + } catch (FileNotFoundException e) { + log.info("閰嶇疆鏂囦欢鎵句笉鍒� 绯荤粺姝e湪鍒涘缓锛�"); + File f = new File(path); + if(!f.exists()){ + f.mkdirs(); + } + File file = new File(url); + try { + FileWriter fileWriter = new FileWriter(file); + fileWriter.write("ip = 浣犵殑涓绘暟鎹簱杩炴帴ip鍦板潃\n"); + fileWriter.write("prot = 浣犵殑涓绘暟鎹簱杩炴帴绔彛\n"); + fileWriter.write("name = 浣犵殑涓绘暟鎹簱杩炴帴鍚嶇О\n"); + fileWriter.write("username = 浣犵殑涓绘暟鎹簱杩炴帴鐢ㄦ埛鍚峔n"); + fileWriter.write("password = 浣犵殑涓绘暟鎹簱杩炴帴瀵嗙爜\n"); + fileWriter.write("hisenabled = 鏄惁寮�鍚� his 浠庡簱鏁版嵁搴撹繛鎺� (浠庢暟鎹簮寮�鍏�/榛樿鍏抽棴 fales)\n"); + fileWriter.write("\n"); + + fileWriter.write("hisip = 浣犵殑 his 鏁版嵁搴撹繛鎺p鍦板潃\n"); + fileWriter.write("hisprot = 浣犵殑 his 鏁版嵁搴撹繛鎺ョ鍙n"); + fileWriter.write("hisname = 浣犵殑 his 鏁版嵁搴撹繛鎺ュ悕绉癨n"); + fileWriter.write("hisusername = 浣犵殑 his 鏁版嵁搴撹繛鎺ョ敤鎴峰悕\n"); + fileWriter.write("hispassword = 浣犵殑 his 鏁版嵁搴撹繛鎺ュ瘑鐮乗n"); + fileWriter.write("\n"); + + fileWriter.write("pacsenabled = 鏄惁寮�鍚痯acs浠庡簱鏁版嵁搴撹繛鎺� (浠庢暟鎹簮寮�鍏�/榛樿鍏抽棴 fales)\n"); + fileWriter.write("pacsip = 浣犵殑pacs鏁版嵁搴撹繛鎺p鍦板潃\n"); + fileWriter.write("pacsprot = 浣犵殑pacs鏁版嵁搴撹繛鎺ョ鍙n"); + fileWriter.write("pacsname = 浣犵殑pacs鏁版嵁搴撹繛鎺ュ悕绉癨n"); + fileWriter.write("pacsusername = 浣犵殑pacs鏁版嵁搴撹繛鎺ョ敤鎴峰悕\n"); + fileWriter.write("pacspassword = 浣犵殑pacs鏁版嵁搴撹繛鎺ュ瘑鐮乗n"); + fileWriter.write("\n"); + + fileWriter.write("lisenabled = 鏄惁寮�鍚� lis 浠庡簱鏁版嵁搴撹繛鎺� (浠庢暟鎹簮寮�鍏�/榛樿鍏抽棴 fales)\n"); + fileWriter.write("lisip = 浣犵殑 lis 鏁版嵁搴撹繛鎺p鍦板潃\n"); + fileWriter.write("lisprot = 浣犵殑 lis 鏁版嵁搴撹繛鎺ョ鍙n"); + fileWriter.write("lisname = 浣犵殑 lis 鏁版嵁搴撹繛鎺ュ悕绉癨n"); + fileWriter.write("lisusername = 浣犵殑 lis 鏁版嵁搴撹繛鎺ョ敤鎴峰悕\n"); + fileWriter.write("lispassword = 浣犵殑 lis 鏁版嵁搴撹繛鎺ュ瘑鐮乗n"); + fileWriter.write("redisIp = 浣犵殑redisIp鍦板潃\n"); + fileWriter.write("redisProt = 浣犵殑redis绔彛\n"); + fileWriter.write("redisIpDatabase = 浣犵殑redis閾炬帴搴揬n"); + fileWriter.write("redisPassword = 浣犵殑redis瀵嗙爜\n"); + fileWriter.write("\n"); + fileWriter.close(); + log.info("閰嶇疆鏂囦欢鍒涘缓鎴愬姛锛�"); + } catch (IOException ioException) { + log.info("閰嶇疆鏂囦欢鍒涘缓澶辫触 璇疯仈绯荤鐞嗗憳鎵嬪姩鍒涘缓锛�"); + ioException.printStackTrace(); + } + e.printStackTrace(); + } + props.load(fis); + fis.close(); + // 鑾峰彇灞炴�у�煎苟璧嬪�� + factory.setPoolConfig(jedisPoolConfig); + // 璁剧疆Redis鏈嶅姟鍣ㄧ殑鍦板潃鍜岀鍙e彿 + factory.setHostName(props.getProperty("redisIp")); + factory.setPort(Integer.parseInt(props.getProperty("redisProt"))); + // 濡傛灉闇�瑕佸瘑鐮侀獙璇侊紝璁剧疆瀵嗙爜 + factory.setPassword(props.getProperty("redisPassword")); + // 璁剧疆鍏朵粬鍙傛暟锛屽鏁版嵁搴撶储寮曠瓑 + factory.setDatabase(Integer.parseInt(props.getProperty("redisIpDatabase"))); + // 鏈�鍚庯紝鍒濆鍖栬繛鎺� + factory.afterPropertiesSet(); + log.info("redis杩炴帴鎴愬姛!!!"); + } catch (IOException e) { + log.info("redis杩炴帴澶辫触 璇疯仈绯荤鐞嗗憳锛�"); + e.printStackTrace(); + } + return factory; + } + + + @Bean public DefaultRedisScript<Long> limitScript() { DefaultRedisScript<Long> redisScript = new DefaultRedisScript<>(); redisScript.setScriptText(limitScriptText()); -- Gitblit v1.8.0