diff --git a/docs/redis-good.md b/docs/redis-good.md index 55baa4941da4722e101a5a6a0dc1927fbf90b273..741596bd4e5167d1548e9b2f24a657268f7329c3 100644 --- a/docs/redis-good.md +++ b/docs/redis-good.md @@ -132,6 +132,8 @@ return 1 end + + **Redis(2.6以后)--lua--EVALSHA命令** 考虑到我们通过eval执行lua脚本,脚本比较长的情况下,每次调用脚本都需要把整个脚本传给redis diff --git a/src/main/java/com/geekq/miaosha/controller/LoginController.java b/src/main/java/com/geekq/miaosha/controller/LoginController.java index cd91eae8dbde93154281a06ff71c63110f1b6187..082a1163c1525d6cc641f4d8b59ee2f8c67ee33f 100644 --- a/src/main/java/com/geekq/miaosha/controller/LoginController.java +++ b/src/main/java/com/geekq/miaosha/controller/LoginController.java @@ -25,7 +25,6 @@ public class LoginController { @RequestMapping("/to_login") public String tologin(LoginVo loginVo) { - RedisLua.getLUa(); logger.info(loginVo.toString()); return "login"; } diff --git a/src/main/java/com/geekq/miaosha/controller/TestLuaController.java b/src/main/java/com/geekq/miaosha/controller/TestLuaController.java deleted file mode 100644 index 4ca8bc45bb0a880dfb1d97afa18ec5c69b965c67..0000000000000000000000000000000000000000 --- a/src/main/java/com/geekq/miaosha/controller/TestLuaController.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.geekq.miaosha.controller; - -import com.geekq.miaosha.redis.redismanager.RedisLua; -import com.geekq.miaosha.vo.LoginVo; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; - -@Controller -@RequestMapping("/lua") -public class TestLuaController { - - @RequestMapping("/testlua") - public void lua() { - - RedisLua.getLUa(); - } - -} diff --git a/src/main/java/com/geekq/miaosha/redis/redismanager/RedisLua.java b/src/main/java/com/geekq/miaosha/redis/redismanager/RedisLua.java index c69e6f286967db9cf780a6a376cd3b91246c166a..08fb5bef7beaca5a6535d31e48306eabc56f8dc3 100644 --- a/src/main/java/com/geekq/miaosha/redis/redismanager/RedisLua.java +++ b/src/main/java/com/geekq/miaosha/redis/redismanager/RedisLua.java @@ -5,12 +5,15 @@ import redis.clients.jedis.Jedis; import java.util.ArrayList; import java.util.List; +/** + * lua脚本使用 + */ public class RedisLua { /** - * 未完成 需 evalsha更方便 + * 未完成 需 evalsha更方便 限制ip 或者 手机号访问次数 */ - public static void getLUa() { + public static void getLuaLimit() { Jedis jedis = null; try { @@ -29,8 +32,11 @@ public class RedisLua { List argves = new ArrayList(); argves.add("6000"); argves.add("5"); - jedis.auth("youxin11"); - Object object = jedis.eval(lua, keys, argves); + jedis.auth("xxxx"); +// Object evalSha = jedis.evalsha(lua); + String luaScript = jedis.scriptLoad(lua); + System.out.println(luaScript); + Object object = jedis.evalsha(luaScript, keys, argves); System.out.println(object); } } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index e8744c34a645bb09307a30322b369e1be09e2e9c..8accc2e65db6a3cb11f0e317cb9579043e0c0be2 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -20,7 +20,7 @@ mybatis.config-locations=classpath:mybatis/config.xml #datasource spring.datasource.url=jdbc:mysql://39.107.245.253:3306/miaosha?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false spring.datasource.username=root -spring.datasource.password=xxxx +spring.datasource.password=nihaoma spring.datasource.driver-class-name=com.mysql.jdbc.Driver #druid spring.datasource.type=com.alibaba.druid.pool.DruidDataSource @@ -49,7 +49,7 @@ spring.resources.static-locations=classpath:/static/ redis.host=39.107.245.253 redis.port=6379 redis.timeout=100 -redis.password=XXXX +redis.password=youxin11 redis.poolMaxTotal=1000 redis.poolMaxIdle=500 redis.poolMaxWait=500