Redis缓存商品查询信息(SpringMVC)

1、配置redis整合spring的环境

2、相关实体类序列化

3、编写serviceImpl方法

使用redis中的String结构实现 带缓存的分页    key-value

思路:先从缓存获取数据, 如果有, 直接返回redis中的数据
  如果没有, 再到数据库查询, 把查询到数据, 缓存一份到redis, 便于下一次查找
  第一页的house信息. house_1 第二页的house信息, house_2 house_3

分页查询的方法:

@Override
public Page<House> findByPage(int pageIndex, int pageSize) throws Exception {
        //自定义key值为house+当前页码
        String key = "house_"+pageIndex;
       //如果redis缓存中存在
        if(redisTemplate.hasKey(key)) {
            return (Page<House>)redisTemplate.opsForValue().get(key);
        }
        //如果不存在
        Page<House>  page = new  Page<>(pageIndex,pageSize);
        getBaseMapper().selectPage(page, null);
        //缓存一份到redis,时间为10天
        redisTemplate.opsForValue().set(key, page,10,TimeUnit.DAYS);
        return page;
    }   

测试:

第一次查询第一页,查看控制台编写sql语句

第二次查询第一页,查询出数据,控制台中没有sql语句(查看redis服务器中是否存在key值为house+index 的值)

Redis 缓存,   提高查询效率,  执行增,删,改, 一定要清空redis中(增删改的)缓存的数据

 

posted @ 2020-06-30 20:16  64Byte  阅读(859)  评论(0编辑  收藏  举报