Explorar o código

1.redis
———— by qlm

qlm %!s(int64=4) %!d(string=hai) anos
pai
achega
56eef325de

+ 16 - 0
src/main/java/com/xc/service/impl/InitStockListRedisServiceImpl.java

@@ -2,6 +2,7 @@ package com.xc.service.impl;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.google.common.collect.Lists;
 import com.jfinal.plugin.activerecord.Record;
 import com.xc.dao.StockMapper;
@@ -52,6 +53,9 @@ public class InitStockListRedisServiceImpl implements InitStockListService {
         String redisData = redisUtil.getItem(redisKey);
         if (StringUtils.isEmpty(redisData) || ("[]".equals(redisData))) {
             List<StockVO> stockVOList = getStockList();
+            for (int i = 0; i < stockVOList.size(); i++) {
+                redisUtil.saveItem(stockVOList.get(i).getCode(),JSON.toJSONString(stockVOList.get(i)),1,TimeUnit.DAYS);
+            }
             redisUtil.saveItem(redisKey, JSON.toJSONString(stockVOList), 1, TimeUnit.DAYS);
         }
     }
@@ -101,6 +105,18 @@ public class InitStockListRedisServiceImpl implements InitStockListService {
     @Override
     public void updateInfo(StockVO stockVOList) {
         String redisKey = String.format(stockVOList.getCode());
+        String redisData = redisUtil.getItem(redisKey);
+        StockVO stockRedis = new StockVO();
+        if (StringUtils.isNotEmpty(redisData) && !("[]".equals(redisData))&&redisData!=null) {
+            stockRedis = JSONObject.parseObject(redisData, StockVO.class);
+        }else {
+            initStockToRedis();
+            redisData = redisUtil.getItem(redisKey);
+            if (StringUtils.isNotEmpty(redisData) && !("[]".equals(redisData))&&redisData!=null) {
+                stockRedis = JSONObject.parseObject(redisData, StockVO.class);
+            }
+        }
+        stockVOList.setId(stockRedis.getId());
         redisUtil.saveItem(redisKey, JSON.toJSONString(stockVOList), 10, TimeUnit.MINUTES);
 
     }