Redis使用(+Springboot)

  1. 背景:将主页的目录放入Redis,加快访问速度,减轻数据库压力,并测试redis和mysql之间的查询速度差距
/**
 * <p>
 * TODO 菜单Service
 * </p>
 *
 * @author ainy
 * @version 2019年7月30日
 */
@Service("menuService")
public class MenuServiceImpl implements IMenuService {
	@Autowired
	private MenuMapper mapper;
	@Autowired
	private RedisTemplate<String, String> redisTemplate;
	
	private  final static String SYSTEM_REDISKEY_ALLMENU="allMenu";
	/* 
	 * 
	 */
	@Override
	public List<MenuEntity> getAllMenuList() {
		ValueOperations<String, String> opsForValue = redisTemplate.opsForValue();
		boolean hasKey = redisTemplate.hasKey(SYSTEM_REDISKEY_ALLMENU);
		if(hasKey) {
			long start = System.currentTimeMillis();
			 String string = opsForValue.get(SYSTEM_REDISKEY_ALLMENU);
			long end = System.currentTimeMillis();
			 System.out.println("查询redis花费的时间是:" + (end - start)+"s");
			 List<MenuEntity> parseArray = JSON.parseArray(string, MenuEntity.class);
			 return parseArray;
			
		}else {
			MenuEntityExample example = new MenuEntityExample();
			long start = System.currentTimeMillis();
			example.setDistinct(false);
			List<MenuEntity> allMneuList = mapper.selectByExample(example);
			long end = System.currentTimeMillis();
			System.out.println("查询mysql花费的时间是:" + (end - start)+"s");
			String jsonString = JSON.toJSONString(allMneuList);
			opsForValue.set(SYSTEM_REDISKEY_ALLMENU, jsonString, 5, TimeUnit.HOURS);
			return allMneuList;
			
		}
	}
  1. 结果
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值