diff --git a/jodconverter-web/src/main/java/cn/keking/service/cache/impl/CacheServiceRocksDBImpl.java b/jodconverter-web/src/main/java/cn/keking/service/cache/impl/CacheServiceRocksDBImpl.java index 6bc0feec..07d86da8 100644 --- a/jodconverter-web/src/main/java/cn/keking/service/cache/impl/CacheServiceRocksDBImpl.java +++ b/jodconverter-web/src/main/java/cn/keking/service/cache/impl/CacheServiceRocksDBImpl.java @@ -79,7 +79,7 @@ public class CacheServiceRocksDBImpl implements CacheService { @Override public void putPDFCache(String key, String value) { try { - Map pdfCacheItem = new HashMap<>(); + Map pdfCacheItem = getPDFCache(); pdfCacheItem.put(key, value); db.put(REDIS_FILE_PREVIEW_PDF_KEY.getBytes(), toByteArray(pdfCacheItem)); } catch (RocksDBException | IOException e) { @@ -90,7 +90,7 @@ public class CacheServiceRocksDBImpl implements CacheService { @Override public void putImgCache(String key, List value) { try { - Map> imgCacheItem = new HashMap<>(); + Map> imgCacheItem = getImgCache(); imgCacheItem.put(key, value); db.put(REDIS_FILE_PREVIEW_PDF_KEY.getBytes(), toByteArray(imgCacheItem)); } catch (RocksDBException | IOException e) { @@ -145,6 +145,16 @@ public class CacheServiceRocksDBImpl implements CacheService { return result; } + public Map getPdfImageCaches() { + Map map = new HashMap<>(); + try{ + map = (Map) toObject(db.get(REDIS_FILE_PREVIEW_PDF_IMGS_KEY.getBytes())); + } catch (RocksDBException | IOException | ClassNotFoundException e) { + LOGGER.error("Get from RocksDB Exception" + e); + } + return map; + } + @Override public Integer getPdfImageCache(String key) { Integer result = 0; @@ -161,7 +171,7 @@ public class CacheServiceRocksDBImpl implements CacheService { @Override public void putPdfImageCache(String pdfFilePath, int num) { try { - Map pdfImageCacheItem = new HashMap<>(); + Map pdfImageCacheItem = getPdfImageCaches(); pdfImageCacheItem.put(pdfFilePath, num); db.put(REDIS_FILE_PREVIEW_PDF_IMGS_KEY.getBytes(), toByteArray(pdfImageCacheItem)); } catch (RocksDBException | IOException e) {