首页 > 其他分享 >淘淘商城商品类目展示添加缓存

淘淘商城商品类目展示添加缓存

时间:2022-11-30 21:07:19浏览次数:51  
标签:INDEX 缓存 ITEMCAT REDIS 淘淘 添加 KEY 类目


一、分析
在不影响原有的逻辑上,添加缓存,分为两块,一块是执行结果后存储缓存,一块是在执行之前调用缓存
二、缓存添加
1.打开taotao-rest工程,找到商品类目展示的service(ItemCatServiceImpl),本次调用jedisClient的get与set方法,调用缓存,与存储缓存,在使用get前,需要在resouce.properties中添加一个key,比如INDEX_ITEMCAT_REDIS_KEY,用来存储缓存信息 
 
然后在代码中获取该key
    @Value("${INDEX_ITEMCAT_REDIS_KEY}")
    private String INDEX_ITEMCAT_REDIS_KEY;
1
2
2、注入JedisClient
   @Autowired
    private JedisClient jedisClient;
1
2
3、先在代码的return resultList;前添加存储缓存代码 

        //---------------------------------------------缓存存储--------------------     
        //从缓存中添加内容
        try{
            //把list转换成字符串
            String cacheString=JsonUtils.objectToJson(resultList);
            jedisClient.set(INDEX_ITEMCAT_REDIS_KEY, cacheString);

        }catch(Exception e){
            e.printStackTrace();
        }
//-----------------------------------------------------------------     

4、在代码中调用getCatList(0)的方法前,加入读取缓存

// -----------------------------缓存读取---------------------------------------
        try {
            String result = jedisClient.get(INDEX_ITEMCAT_REDIS_KEY);
            if (!StringUtils.isBlank(result)) {
                List<CatNode> resultlist = JsonUtils.jsonToList(result, CatNode.class);
                CatResult catResult = new CatResult();
                // 查询分类列表
                catResult.setData(resultlist);
                return catResult;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

//---------------------------------------------缓存添加-------------------- 

三、测试缓存
 

标签:INDEX,缓存,ITEMCAT,REDIS,淘淘,添加,KEY,类目
From: https://blog.51cto.com/u_13363083/5900506

相关文章

  • springboot缓存之缓存工作原理
    核心:使用CacheManager[ConcurrentMapCacheManager]按照名字得到Cache[ConcurrentMapCache]组件    key使用keyGenerator生成的,默认是SimpleKeyGenerator   ......
  • springboot缓存之搭建redis环境
    Redis是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库\缓存和消息中间件.安装redis,使用dockerdockerpullregistry.docker-cn.com/library/redis运行re......
  • springboot缓存之整合redis
     一\引入redispom.xml中添加<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>......
  • Redis之Redis缓存管理机制
    Redis缓存管理机制目录Redis缓存管理机制缓存过期&&缓存淘汰缓存穿透&&布隆过滤器缓存击穿&&缓存雪崩总结彩蛋从博客上找到一个用自述版本讲解Redis的,发现讲的挺好......
  • Mybatis源码分析(十五) - 缓存技术
    MyBatis包含一个非常强大的查询缓存特性,使用缓存可以使应用更快地获取数据,避免频繁的数据库交互 缓存查询图: 一级缓存(也叫应用缓存)一级缓存默认会启用,想要关闭一级缓存......
  • MYSQL缓存
    是否支持缓存showvariableslike'%have_query_cache%';  临时关闭缓存setglobalquery_cache_size=0setglobalquery_cache_type=0 ......
  • 5分钟手撸一个简单、易用的缓存组件,架构师都对我刮目相看
    /**将对象加入到缓存@paramkey键@paramvalue对象@paramtimeout过期时间*/voidput(Kkey,Vvalue,longtimeout);/**从缓存中获得对象......
  • 京东云缓存JIMDB建设之路
    缓存的大背景 缓存在软件应用特别是在互联网应用中无处不在,从数据库到应用服务、再到前端的页面每一层都会使用缓存进行加速,即使是硬件产品比如CPU、磁盘、网卡等也都会......
  • Abp分布式实体缓存
    直接缓存实体对象注册实体缓存:.context.Services.AddEntityCache<Product,Guid>()注入和使用.IEntityCache<Product,Guid>服务使用此用法,实体类应可序列化/可序列化......
  • Thinkphp入门 四 —布局、缓存、系统变量 (48)
    【控制器操作方法参数设置】​​http://网址/index.php/控制器/操作方法​​  【页面跳转】【变量调节器】Smarty变量调节器TP变量调节器:普通的php函数(count strlen ......