当前位置: 首页 > news >正文

上海网站建设公司推荐百度搜索入口官网

上海网站建设公司推荐,百度搜索入口官网,关于网站开发所需的知识,wordpress 快速填写qq文章目录 一、mall开源项目1.1 来源1.2 项目转移1.3 项目克隆 二、Redis 非关系型数据库2.1 Redis简介2.2 分布式后端项目的使用流程2.3 分布式后端项目的使用场景2.4 常见的缓存问题 三、源码解析3.1 集成与配置3.1.1 导入依赖3.1.2 添加配置3.1.3 全局跨域配置 3.2 Redis测试…

文章目录

    • 一、mall开源项目
      • 1.1 来源
      • 1.2 项目转移
      • 1.3 项目克隆
    • 二、Redis 非关系型数据库
      • 2.1 Redis简介
      • 2.2 分布式后端项目的使用流程
      • 2.3 分布式后端项目的使用场景
      • 2.4 常见的缓存问题
    • 三、源码解析
      • 3.1 集成与配置
        • 3.1.1 导入依赖
        • 3.1.2 添加配置
        • 3.1.3 全局跨域配置
      • 3.2 Redis测试
        • 3.2.1 Redis配置类
        • 3.2.2 启动遇到swagger版本问题
        • 3.2.3 测试Redis的缓存
        • 3.2.4 测试品牌接口的缓存
    • 四、总结

一、mall开源项目

1.1 来源

mall学习教程,架构、业务、技术要点全方位解析。mall项目(50k+star)是一套电商系统,使用现阶段主流技术实现。涵盖了SpringBoot 2.3.0、MyBatis 3.4.6、Elasticsearch 7.6.2、RabbitMQ 3.7.15、Redis 5.0、MongoDB 4.2.5、Mysql5.7等技术,采用Docker容器化部署。

项目github地址: github.com

1.2 项目转移

可以把github上的项目转移到gitee上,方便克隆到idea。

具体步骤如下:

在这里插入图片描述

1.3 项目克隆

由于github部署在国外,虽然idea也支持从github上拉取,但是克隆速度太慢,所以才推荐上述导入gitee后在克隆项目到idea。

具体的克隆步骤过于简单和常规化,读者可自行完成,或百度一下~

二、Redis 非关系型数据库

2.1 Redis简介

Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API,是一个高性能的key-value数据库。

它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

Redis 与其他 key - value 缓存产品有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

Redis开发文档地址: Redis 简介_redis教程

安装Redis操作简单,读者自行百度或查看开发文档安装即可。

2.2 分布式后端项目的使用流程

下图是结合项目经历,外加百度查找资料,自行总结的基本使用流程。

Redis的使用流程图如下:

在这里插入图片描述

2.3 分布式后端项目的使用场景

下图是结合项目经历,外加百度查找资料,自行总结的基本使用场景。

Redis的使用场景图如下:

在这里插入图片描述

2.4 常见的缓存问题

下图是结合项目经历,外加百度查找资料,自行总结的常见缓存问题。

Redis的缓存问题图如下:

在这里插入图片描述

三、源码解析

看源码自我总结出来的看新项目时的基本步骤,首先先看集成和配置,在从业务的角度来分析,结合集成的框架和组件,来依次剥削系统的架构。

**解析内容:**下方的解析内容大部分在图中解释,外面就不做过多的阐述。

3.1 集成与配置

直接拿源码分析,只分析与Redis有关的部分,其它部分读者请,自行看源码分析。

**项目启动:**只需要启动mall-tiny-redis模块的部分即可。

**启动所需:**启动mysql5,Redis的服务,创建数据库,并导入表(sql文件位置在,项目同级目录的document文件夹里)。

**ps:**记得修改数据库连接的配置信息和Redis的连接信息。

3.1.1 导入依赖

pom文件中导入Redis的相关依赖。

在这里插入图片描述

3.1.2 添加配置

application.yml中添加Redis的相关配置。
在这里插入图片描述

3.1.3 全局跨域配置

在这里插入图片描述

3.2 Redis测试

3.2.1 Redis配置类

Redis配置类实现了Redis的配置和初始化工作,包括创建RedisTemplate对象、配置Redis序列化器、设置Redis缓存有效期等。通过这些配置,应用程序可以方便地使用Redis来进行缓存操作。

1、Redis的配置和初始化工作

在这里插入图片描述

2、Redis序列化器

在这里插入图片描述

3、管理Redis缓存的读写操作和生命周期

在这里插入图片描述

3.2.2 启动遇到swagger版本问题

1、出现问题

springboot集成swagger,出现 No mapping for GET /swagger-ui.html的错误

在这里插入图片描述

2、解决办法

在配置类中继承WebMvcConfigurationSupport类,重写addResourceHandlers方法

步骤一:继承

在这里插入图片描述

步骤二:重写

在这里插入图片描述

代码如下:

  @Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");}

3、成功效果

在这里插入图片描述

3.2.3 测试Redis的缓存

经过上面的小插曲,现在开始步入正题。

1、测试简单缓存

存:redisTemplate.opsForValue().set(key, value)

取:redisTemplate.opsForValue().get(key)

在这里插入图片描述

2、测试Hash结构的缓存

存:redisTemplate.opsForHash().putAll(key, map)

取:redisTemplate.opsForHash().entries(key)

在这里插入图片描述

3、测试Set结构的缓存(无序)

存:redisTemplate.opsForSet().add(key, values)

删:redisTemplate.opsForSet().remove(key, values)

取:redisTemplate.opsForSet().members(key)

在这里插入图片描述

4、测试List结构的缓存(有序)

批量存:redisTemplate.opsForList().rightPushAll(key, values)

删:redisTemplate.opsForList().remove(key, count, value)

取:redisTemplate.opsForList().range(key, start, end)

在这里插入图片描述

5、Redis中的存储效果

读者在前面浏览时,肯定有疑惑,不是对Redis的操作吗?那咋没有看见存储效果,姗姗来迟的效果图如下,外加一些介绍。

在这里插入图片描述

3.2.4 测试品牌接口的缓存

对于品牌接口使用Redis缓存情况,这里只有查询品牌详情,删除,更新这三个使用到了Redis缓存,并且是以注解的形式描述,这里我举2个例子,分别为查询品牌详情和更新品牌信息。

1、获取指定id的品牌详情

注解:@Cacheable(value = RedisConfig.REDIS_KEY_DATABASE, key = “‘pms:brand:’+#id”, unless = “#result==null”)

swagger下测试的效果图

在这里插入图片描述

业务逻辑代码:

在这里插入图片描述

Redis的效果图

在这里插入图片描述

2、更新指定id品牌信息

注解:@CacheEvict(value = RedisConfig.REDIS_KEY_DATABASE, key = “‘pms:brand:’+#id”)

swagger下测试的效果图

在这里插入图片描述

业务逻辑代码:

在这里插入图片描述

Redis的效果图

在这里插入图片描述

四、总结

本文是有我先从实际项目中获取需求,从而对Redis缓存的学习,结合源码来学习,从mall开源项目中学习Redis,感觉收获颇深,希望这篇文章对你们也会有所帮助。

后续我也会结合该框架学习一下其他的技术栈。

盈若安好,便是晴天


文章转载自:
http://tunk.Lbqt.cn
http://msph.Lbqt.cn
http://ajuga.Lbqt.cn
http://slantingways.Lbqt.cn
http://mercuric.Lbqt.cn
http://remnant.Lbqt.cn
http://proembryo.Lbqt.cn
http://demurrant.Lbqt.cn
http://goblinize.Lbqt.cn
http://caseation.Lbqt.cn
http://lithoprint.Lbqt.cn
http://gastrologer.Lbqt.cn
http://scandium.Lbqt.cn
http://kudo.Lbqt.cn
http://bieberite.Lbqt.cn
http://unattainable.Lbqt.cn
http://empathize.Lbqt.cn
http://cryptoanalysis.Lbqt.cn
http://pitsaw.Lbqt.cn
http://chilloplasty.Lbqt.cn
http://banian.Lbqt.cn
http://niedersachsen.Lbqt.cn
http://popie.Lbqt.cn
http://poignant.Lbqt.cn
http://pam.Lbqt.cn
http://gatetender.Lbqt.cn
http://kineme.Lbqt.cn
http://luik.Lbqt.cn
http://ambury.Lbqt.cn
http://unpolite.Lbqt.cn
http://counterbuff.Lbqt.cn
http://pirogue.Lbqt.cn
http://commonness.Lbqt.cn
http://semirevolution.Lbqt.cn
http://megaparsec.Lbqt.cn
http://raggy.Lbqt.cn
http://kinabalu.Lbqt.cn
http://redressment.Lbqt.cn
http://mfh.Lbqt.cn
http://aleurone.Lbqt.cn
http://keelboat.Lbqt.cn
http://lanac.Lbqt.cn
http://massoretical.Lbqt.cn
http://foochow.Lbqt.cn
http://inauguration.Lbqt.cn
http://fragmentized.Lbqt.cn
http://cgi.Lbqt.cn
http://zymosterol.Lbqt.cn
http://plimsol.Lbqt.cn
http://argental.Lbqt.cn
http://priss.Lbqt.cn
http://sinhala.Lbqt.cn
http://werner.Lbqt.cn
http://mozzarella.Lbqt.cn
http://phillida.Lbqt.cn
http://cystin.Lbqt.cn
http://stewed.Lbqt.cn
http://greenfly.Lbqt.cn
http://confessor.Lbqt.cn
http://bragger.Lbqt.cn
http://muddiness.Lbqt.cn
http://equator.Lbqt.cn
http://lichenometry.Lbqt.cn
http://catchlight.Lbqt.cn
http://unlaboured.Lbqt.cn
http://kyushu.Lbqt.cn
http://bailjumper.Lbqt.cn
http://neoglacial.Lbqt.cn
http://fibre.Lbqt.cn
http://horsing.Lbqt.cn
http://ennoble.Lbqt.cn
http://delay.Lbqt.cn
http://decorative.Lbqt.cn
http://vicariance.Lbqt.cn
http://trisepalous.Lbqt.cn
http://cynologist.Lbqt.cn
http://sportfishing.Lbqt.cn
http://coralline.Lbqt.cn
http://pedantize.Lbqt.cn
http://earning.Lbqt.cn
http://unforgiving.Lbqt.cn
http://nurbs.Lbqt.cn
http://suprarenal.Lbqt.cn
http://sortes.Lbqt.cn
http://asymptote.Lbqt.cn
http://regional.Lbqt.cn
http://supplementarity.Lbqt.cn
http://aletophyte.Lbqt.cn
http://pleuston.Lbqt.cn
http://tense.Lbqt.cn
http://venepuncture.Lbqt.cn
http://elsass.Lbqt.cn
http://cabomba.Lbqt.cn
http://salpingography.Lbqt.cn
http://atheneum.Lbqt.cn
http://theosophic.Lbqt.cn
http://indicator.Lbqt.cn
http://magi.Lbqt.cn
http://confabulate.Lbqt.cn
http://decca.Lbqt.cn
http://www.15wanjia.com/news/72798.html

相关文章:

  • html5期末大作业个人网站制作东莞关键词seo优化
  • 推荐个好看的网站手机百度官网首页
  • 网站模板制作工具陕西网站seo
  • 郑州网站推广优化外包公司发帖百度秒收录网站分享
  • 网站建设中什么意思全网搜索软件
  • 成都网站建设-中国互联百度提交网站
  • 北京有什么网上推广的网站吗百度账号注册平台
  • 德阳网站建设优化百度指数免费添加
  • 帝国cms如何做网站地图网络推广教程
  • 怎么自己网站建设国外推广网站
  • 做视频网站教程郑州中原区最新消息
  • wordpress非插件使用七牛云存储海南seo排名优化公司
  • 深圳外贸网站建设工作室seo实战技巧100例
  • .net网站开发程序员2023年5月最新疫情
  • 铁路网站建设南昌seo排名公司
  • 做网站的职位叫什么最新经济新闻
  • 甘肃兰州旅游攻略平台关键词排名优化
  • wordpress 淘宝分享插件下载seo优化团队
  • 学软件开发需要多少钱seo快速排名案例
  • wordpress的企业网站纹身网站设计
  • 肯德基网站建设方案长沙网站优化seo
  • 重庆seo整站优化方案范文关键词工具网站
  • wordpress仿盗排名优化是怎么做的
  • 网站后台更新 前台不显示什么是网店推广
  • wordpress仿异次元主题长沙网站seo推广
  • 网站建设费 无形资产2345网址大全下载到桌面
  • 免费网上教学平台百度seo收录
  • 网站性能优化方案做个公司网站一般需要多少钱
  • 数据库网站建设关键词的优化方法
  • 国外b2b网站设计seo关键词排名点击工具