缓存查询数据库

master
DongZeLiang 2024-04-01 11:40:29 +08:00
parent 0cb04c8799
commit 6b251f0353
3 changed files with 156 additions and 1 deletions

View File

@ -1,9 +1,88 @@
package com.muyu.product.cache; package com.muyu.product.cache;
import com.muyu.common.cache.abs.HashCacheAbs;
import com.muyu.common.core.text.Convert;
import com.muyu.product.cache.datasource.ProjectSkuData;
import com.muyu.product.domain.ProjectSkuInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.Map;
/** /**
* @author DongZl * @author DongZl
* @description: sku * @description: sku
* @Date 2024-3-29 03:06 * @Date 2024-3-29 03:06
*/ */
public class ProjectSkuCache { @Component
public class ProjectSkuCache extends HashCacheAbs<Long, String, ProjectSkuInfo> {
@Autowired
private ProjectSkuData projectSkuData;
/**
* key
* @return key
*/
@Override
public String keyPre () {
return "project:sku:";
}
/**
*
* @param redisKey
* @return ID
*/
@Override
public Long decode (String redisKey) {
return Convert.toLong(redisKey.replace(keyPre(), ""));
}
/**
*
* @param redisHashKey
* @return ID
*/
@Override
public String decodeHashKey (String redisHashKey) {
return redisHashKey;
}
/**
* hash
* @param key
* @return
*/
@Override
public Map<String, ProjectSkuInfo> getData (Long key) {
return projectSkuData.getData(key);
}
/**
* hashhash
* @param key
* @param hashKey hash
*
* @return hash
*/
@Override
public ProjectSkuInfo getData (Long key, String hashKey) {
return projectSkuData.getData(key, hashKey);
}
/**
*
*/
@Override
public Map<String, ProjectSkuInfo> defaultValue () {
return new HashMap<>();
}
@Override
public ProjectSkuInfo defaultHashValue () {
return new ProjectSkuInfo();
}
} }

View File

@ -0,0 +1,29 @@
package com.muyu.product.cache.datasource;
import com.muyu.product.domain.ProjectSkuInfo;
import java.util.Map;
/**
* @author DongZl
* @description: SKU
* @Date 2024-4-1 11:35
*/
public interface ProjectSkuData {
/**
* hash
* @param projectId ID
* @return
*/
public Map<String, ProjectSkuInfo> getData (Long projectId) ;
/**
* hashhash
* @param projectId ID
* @param projectSku SKU
*
* @return hash
*/
public ProjectSkuInfo getData (Long projectId, String projectSku);
}

View File

@ -0,0 +1,47 @@
package com.muyu.product.cache.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.muyu.product.cache.datasource.ProjectSkuData;
import com.muyu.product.domain.ProjectSkuInfo;
import com.muyu.product.service.ProjectSkuInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
* @author DongZl
* @description: SKU
* @Date 2024-4-1 11:38
*/
@Service
public class ProjectSkuDataImpl implements ProjectSkuData {
@Autowired
private ProjectSkuInfoService projectSkuInfoService;
/**
* hash
* @param projectId ID
* @return
*/
@Override
public Map<String, ProjectSkuInfo> getData (Long projectId) {
LambdaQueryWrapper<ProjectSkuInfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ProjectSkuInfo::getProjectId, projectId);
List<ProjectSkuInfo> projectSkuInfoList = projectSkuInfoService.list(queryWrapper);
return null;
}
/**
* hashhash
* @param projectId ID
* @param projectSku SKU
* @return hash
*/
@Override
public ProjectSkuInfo getData (Long projectId, String projectSku) {
return null;
}
}