随笔 - 1162
文章 - 0
评论 - 16
阅读 -
59万
12 2021 档案
第四章:(1)Redis 数据类型 之 Redis 解析配置文件 redis.conf
摘要:一、Redis 的完整配置文件 # Redis configuration file example # Note on units: when memory size is needed, it is possible to specify # it in the usual form of 1k
阅读全文
第三章:(7)Redis 数据类型 之 Redis有序集合Zset(sorted set)
摘要:一、ZSet 结构 在set基础上,加一个score值。之前set是k1 v1 v2 v3,现在zset是k1 score1 v1 score2 v2。 二、常用 三、示例 1、 zadd/zrange[withscore] zadd key score value 添加到有序set的一个或多个成员
阅读全文
第三章:(6)Redis 数据类型 之 Redis哈希(Hash)
摘要:一、Hash 结构 KV模式不变,但V是一个键值对 二、常用 三、示例 1、hset/hget/hmset/hmget/hgetall/hdel hset key field value 设置hash里面一个字段的值 hget key field 获取hash中field的值 hmset key f
阅读全文
第三章:(5)Redis 数据类型 之 Redis集合(Set)
摘要:一、Set 结构 单值多value 二、常用 三、示例 1、 sadd/smembers/sismember sadd key member [member...] 添加一个或者多个元素到集合(Set)中 smemebers key 获取集合里面的所有元素 sismember key member
阅读全文
第三章:(4)Redis 数据类型 之 Redis列表(List)
摘要:一、List 结构 单值多value 二、常用命令 三、示例 1、 lpush/rpush/lrange lpush key value [value...] 从队列的左边入队一个或多个元素 rpush key value [value...] 从队列的右边入队一个或多个元素 lrange key
阅读全文
第三章:(3)Redis 数据类型 之 Redis字符串(String)
摘要:一、String 数据结构 单值单value。 二、常用 三、示例 1、set/get/del/append/strlen set key value 设置一个key的value值 get key 返回key的value del key [key ...] 删除指定的 key(一个或多个) appe
阅读全文
第三章:(2)Redis 数据类型 之 Redis 键(key)
摘要:一、常用 二、案例 1、查看当前库中所有的 key keys * 2、判断某个key是否存在 exists key 3、将当前数据库的 key 移动到给定的数据库 db 当中 move key db //当前库就没有了,被移除到了指定的库中 4、为给定的key设置过期时间 expire key 秒钟
阅读全文
第三章:(1)Redis 数据类型 之 五大数据类型
摘要:一、Redis的五大数据类型 1、String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。 string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。 stri
阅读全文
第二章:(3)Redis 入门 之 Redis 的启动与杂项基础知识
摘要:一、启动Redis 在 /usr/local/bin 目录下运行redis-server,运行拷贝出存放了自定义conf文件目录下的redis.conf文件 示例: redis-server /myRedis/redis.conf 二、其他常用基础知识 1、单进程 (1)单进程模型来处理客户端的请求
阅读全文
第二章:(2)Redis 入门 之 Redis 的安装
摘要:一、Windows 版安装 Redis Window 下安装 下载地址:https://github.com/dmajkic/redis/downloads 下载到的Redis支持32bit和64bit。根据自己实际情况选择,将64bit的内容cp到自定义盘符安装目录取名redis。 如 C:\re
阅读全文
第二章:(1)Redis 入门 之 入门概述
摘要:一、Redis 是什么 Redis:REmote DIctionary Server(远程字典服务器)是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(key/value)分布式内存数据库,基于内存运行 并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,也被人们称为
阅读全文
第十一章:(1)Spring Boot 与 检索 之 ElasticSearch 简介&安装&入门
摘要:一、ElasticSearch 简介 我们的应用经常需要添加检索功能,开源的 ElasticSearch 是目前全文搜索引擎的首选。 他可以快速的存储、搜索和分析海量数据。 Spring Boot通过整合Spring Data ElasticSearch为我们提供了非常便捷的检索功能支持; Elas
阅读全文
第十章:(4)Spring Boot 与 消息 之 整合 RabbitMQ
摘要:一、依赖关系 创建的 SpringBoot 模块中,引入了 amqp 的启动器 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </d
阅读全文
第十章:(3)Spring Boot 与 消息 之 RabbitMQ 安装测试
摘要:一、安装 RabbitMQ 以 Docker 方式安装并运行 RabbitMQ 1、获取 RabbitMQ 镜像 docker pull rabbitmq:3-management docker pull registry.docker-cn.com/library/rabbitmq:3-manag
阅读全文
第一章:分布式数据库CAP原理
摘要:一、CAP 1、CAP是什么 C:Consistency 强一致性 A:Availability 可用性 P:Partition tolerance 分区容错性 CAP理论就是说在分布式存储系统中,最多只能实现上面的两点。 而由于当前的网络硬件肯定会出现延迟丢包等问题,所以分区容忍性是我们必须需要实
阅读全文
第一章:NoSql 入门和概述(下)
摘要:一、NoSQL数据模型简介 以一个电商客户、订单、订购、地址模型来对比关系型数据库和非关系型数据库 1、传统关系型数据库如何设计 ER图(1:1、1:N、N:1)主外键等 2、NOSQL如何设计 BSON ()是一种类json的一种二进制形式的存储格式,简称Binary JSON,它和JSON一样,
阅读全文
第一章:NoSql 入门和概述(1)
摘要:一、NOSQL 入门概述 1、互联网时代背景下大机遇,为什么用NoSQL (1)单机MySQL的美好年代 在90年代,一个网站的访问量一般都不大,用单个数据库完全可以轻松应付。 在那个时候,更多的都是静态网页,动态交互类型的网站不多。 DAL dal是数据访问层的英文缩写,即为数据访问层(Data
阅读全文
第十章:(2)Spring Boot 与 消息 之 RabbitMQ
摘要:一、RabbitMQ 简介 RabbitMQ简介: RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue Protocol)的开源实现。 二、核心概念 1、Message 消息,消息是不具名的,它由消息头和消息体组成。消息体是不透明的,而消息头则由一系列的
阅读全文
第十章:(1)Spring Boot 与 消息 之 消息服务
摘要:一、概述 1、大多应用中,可通过消息服务中间件来提升系统异步通信、扩展解耦能力; 2、消息服务中两个重要概念: 消息代理(message broker) 和 目的地(destination) 当消息发送者发送消息以后,将由消息代理接管,消息代理保证消息传递到指定目的地。 3、消息队列主要有两种形式的
阅读全文
第九章:(7)Spring Boot 与 缓存 之 自定义 CacheManager
摘要:一、测试缓存 1、默认情况 默认情况,SpringBoot 会使用 SimpleCacheConfiguration 缓存配置类。 然后创建一个 ConcurrentMapCacheManager 缓存管理器,可以获取 ConcurrentMap 来作为缓存组件使用。 2、使用 Redis (1)引
阅读全文
第九章:(6)Spring Boot 与 缓存 之 整合 Redis
摘要:一、使用 Docker 快速安装 Redis 1、安装 redis,使用 docker 方式 使用 Docker 中国,镜像中国 加速下载 https://www.bbsmax.com/A/amd083yqdg/ 2、命令安装 获取 Redis 镜像 docker pull registry.doc
阅读全文
第九章:(5)Spring Boot 与 缓存 之 @Caching&@CacheConfig注解
摘要:一、@Caching @Caching 定义了复杂的缓存规则: @Target({ElementType.METHOD, ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Inherited @Documented public @int
阅读全文
第九章:(4)Spring Boot 与 缓存 之 @CacheEvict 注解
摘要:一、@CacheEvict @CacheEvict: 缓存清除 常用属性 key:指定要清除的数据 allEntries = true 指定清除这个缓存中所有的数据 beforeInvocation = false:缓存的清除是否在方法之前执行 false:默认代表缓存清除是在方法执行之后执行,如果
阅读全文
第九章:(3)Spring Boot 与 缓存 之 @CachePut 注解
摘要:一、@CachePut @CachePut:既调用方法,又更新缓存数据,同步更新缓存,修改了数据库的某个数据,同时更新缓存。 注意:存取使用的 key 必须是同一个。 运行时机: 1、先调用目标方法 2、将目标方法的结果缓存起来 测试步骤: 1、先查询1号员工,查到的结果会放到缓存中 key:id=
阅读全文
第九章:(2)Spring Boot 与 缓存 之 @Cacheable 注解
摘要:一、@Cacheable 注解 作用:将方法的运行结果进行缓存,以后再要相同的数据,直接从缓存中获取,不用调用方法: 属性: value/cacheNames:指定缓存组件的名字; CacheManager 管理多个 Cache 组件,对缓存的真正CRUD操作在Cache组件中,每一个缓存组件有自己
阅读全文
第九章:(1)Spring Boot 与 缓存
摘要:一、JSR-107 Java Caching定义了5个核心接口,分别是 CachingProvider, CacheManager, Cache, Entry 和 Expiry。 (1)CachingProvider 定义了创建、配置、获取、管理和控制多个 CacheManager。一个应用可以在运
阅读全文
第八章:(1)Spring Boot 之 自定义starter
摘要:一、starters 原理 1、这个场景需要使用到的依赖是什么? 该场景下需要导入什么依赖。 2、如何编写自动配置(自动装配 Bean) 自动装配使用配置类( @Configuration)结合Spring4 提供的条件判断注解 @Conditional及Spring Boot的派生注解如@Cond
阅读全文
第七章:(1)Spring Boot启动原理
摘要:一、SpringBoot 启动原理 运行一个主程序类的 main 方法: 主程序运行 @SpringBootApplication public class SpringBoot07RunApplication { public static void main(String[] args) { S
阅读全文
第六章:(4)数据访问 之 整合JPA
摘要:一、Spring Data 简介: Spring Data 项目的目的是为了简化构建基于 Spring 框架应用的数据访问技术,包括非关系数据库、Map-Reduce 框架、云数据服务等等;另外也包含对关系数据库的访问支持。 Spring Data 包含多个子项目: 1、SpringData 特点
阅读全文
第六章:(3)数据访问 之 整合MyBatis
摘要:一、搭建开发环境 1、依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <g
阅读全文
第六章:(2)数据访问 之 整合 Druid 数据源
摘要:一、整合 Druid 数据源 1、导入依赖 <!-- 引入druid数据源 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.8</version> </depend
阅读全文
第六章:(1)数据访问 之 JDBC
摘要:一、简介 对于数据访问层,无论是SQL还是NOSQL, Spring Boot默认采用整合Spring Data的方式进行统一处理,添加大量自动配置,屏蔽了很多设置。 引入各种xxxTemplate, xxxRepository来简化我们对数据访问层的操作。对我们来说只需要进行简单的设置即可。我们将
阅读全文
第五章:(4)Docker 之 使用Docker搭建环境
摘要:一、安装 MySQL 实例 1、拉取 MySQL 镜像 docker pull mysql 2、错误的启动 之前的启动: 使用之前的命令启动 MySQL 容器,发现并没有正常运行。 查看容器错误日志: 报错信息:数据库未初始化,且未指定密码选项。 在启动容器时,必须要指定下面三个参数其中的一个 -
阅读全文
第五章:(3)Docker 之 常用命令&操作
摘要:一、镜像操作 操 作 命令 说明 检 索 docker search 关键字 eg:docker search redis 我们经常去docker hub上检索镜像的详细信息,如镜像的TAG。 拉 取 docker pull 镜像名:tag :tag是可选的,tag表示标签,多为软件的版本,默认是l
阅读全文
第五章:(2)Docker 之 安装 Docker
摘要:一、安装 Linux 虚拟机 1、使用 VMWare、VirtualBox(安装); 2、使用 VirtualBox 导入虚拟机文件 centos7.ova; 3、双击启动 Linux 虚拟机; 4、使用客户端连接 Linux 服务器进行命令操作; 5、设置虚拟机网络:桥接网络=选择与宿主机一》样的
阅读全文
第五章:(1)Docker 之 简介与核心概念
摘要:一、Docker 1、Docker 是什么 Docker 是一个开源的应用容器引擎,是一个轻量级容器基础,基于 Go 语言 并遵从Apache2.0协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
阅读全文
第四章:(8)Web开发 之 使用外置 Servlet 容器
摘要:一、使用内置的 Servlet 容器 嵌入式 Servlet 容器:可以把应用打成可执行的 jar 包 优点:简单、便捷; 缺点:默认不支持JSP、优化定制比较复杂 定制方法: 1、使用定制器 ServerProperties 进行配置; 2、自定义 EmbeddedServletContainer
阅读全文
第四章:(7)Web开发 之 配置嵌入式 Servlet 容器
摘要:一、配置嵌入式 Servlet 容器 SpringBoot默认使用Tomcat作为嵌入式的Servlet容器 引发问题? 1、如何定制和修改Servlet容器的相关配置? 2、注册Servlet三大组件【Servlet、Filter、Listener】? 二、如何定制和修改Servlet容器的相关配
阅读全文
第四章:(6)Web开发 之 错误处理机制
摘要:一、SpringBoot默认的错误处理机制 1、默认效果 (1)浏览器:返回一个默认的错误界面 浏览器发送请求的请求头: (2)如果是其他客户端,默认响应一个 json 数据 2、原理 参照 ErrorMvcAutoConfiguration:错误处理的自动配置; 给容器中添加了以下组件: (1)D
阅读全文
第一节:Spring + SpringMVC +MyBatis 整合
摘要:一、加入依赖 1、jar 包 (1)Spring 【AOP核心】 com.springsource.net.sf.cglib-2.2.0.jar com.springsource.org.aopalliance-1.0.0.jar com.springsource.org.aspectj.weave
阅读全文
第一节:Spring 与 SpringMVC 整合
摘要:一、Spring 与 SpringMVC 是否需要整合? 1、需要进行 Spring 整合 SpringMVC 吗? 2、还是否需要再加入 Spring 的 IOC 容器? 3、是否需要再 web.xml 文件中配置启动的 Spring IOC 容器的 ContextLoaderListener?
阅读全文
第一节:SpringMVC 运行流程
摘要:一、SpringMVC 流程图 组件说明: 1、HandlerMapping 里存储是所有请求和处理器之间的关系,HandlerExecutionChain 是来找到某一个请求和处理器之间的关系,还有拦截器,即某一个指定的请求和处理器之间的管理。 2、HandlerAdapter:处理器适配器:来执
阅读全文
第一节:SpringMVC 国际化
摘要:一、简单国际化 1、操作步骤 (1)编写国际化资源文件; (2)让 SpringMVC 的 ResourceBundleMessageSource 管理国际化资源文件; (3)在页面中通过标签取值; 2、代码示例 (1)国际化资源文件 中文:login_zh_CN.properties welcom
阅读全文
第一节:SpringMVC 异常处理
摘要:一、SpringMVC 异常处理 1、SpringMVC 通过 HandlerExceptionResolver 处理程序的异常,包括 Handler 映射、数据绑定以及目标方法执行时发生的异常。 2、SpringMVC 提供的 HandlerExceptionResolver 的实现类 二、Han
阅读全文
第一节:SpringMVC 拦截器
摘要:一、拦截器 1、拦截器概述 SpringMVC 也可以使用拦截器对请求进行拦截处理,用户可以自定义拦截器来实现特定的功能,自定义的拦截器可以实现 HandlerInterceptor 接口,也可以继承 HandlerInterceptAdapter 适配器类。 HandlerInterceptor
阅读全文
第一节:SpringMVC 的文件上传
摘要:一、SpringMVC 的文件上传 1、Spring MVC 为文件上传提供了直接的支持,这种支持是通过即插即用的 MultipartResolver 实现的。 2、Spring 用 Jakarta Commons FileUpload 技术实现了一个 MultipartResolver 实现类:C
阅读全文
第三节:HttpMessageConverter
摘要:一、HttpMessageConverter<T> 1、HttpMessageConverter 简介 HttpMessageConverter<T> 是 Spring3.0 新添加的一个接口,负责将请求信息转换为一个对象(类型为 T),将对象(类型T)输出为响应信息; 2、HttpMessageC
阅读全文
第二节:HttpEntity 与 ResponseEntity
摘要:一、HttpEntity 获取请求 HttpEntity:可以获取请求的内容(包括请求头与请求体) 页面提交数据: <form action="${ctp}/testHttpEntity" method="post" enctype="multipart/form-data"> <input nam
阅读全文
第一节:SpringMVC 处理 JSON
摘要:一、JSON 1、JSON 简介 JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。 JSON 是采用完全独立于编程语言的文本格式来存储和表示数据,JSON 数据格式,易于阅读和编写,也易于机器解析和生成,并有效地提上了网络传输效率。 2
阅读全文
第五节:SpringMVC 数据校验
摘要:一、数据校验 项目中涉及到数据校验,如果只做前端校验是不安全的,我们可以绕过前端校验,重要数据一定要加上后端校验; 1、通过程序,每个数据取出,进行校验,如果失败直接来到添加页面,提示其重新填写;(不推荐) 2、SpringMVC:可以利用 JSR303 做数据校验; 二、如何校验 1、JSR 30
阅读全文
第四节:SpringMVC 数据格式化
摘要:一、数据格式化概述 (1)对属性对象的输入/输出进行格式化,从其本质上讲依然属于 “类型转换” 的范畴。 (2)Spring 在格式化模块中定义了一个实现 ConversionService 接口的 FormattingConversionService 实现类,该实现类扩展了 GenericCon
阅读全文
第三节:<mvc:annotation-driven />标签解析
摘要:一、<mvc:annotation-driven />配置在什么时候必须配置? 1、配置了视图映射 view-controller 直接配置响应的页面:无需经过控制器来执行结果 ;但会导致其他请求路径失效,需要配置mvc:annotation-driven标签 <mvc:view-controlle
阅读全文
第二节:SpringMVC 数据绑定—自定义类型转换器
摘要:一、SpringMVC 提供的类型转换器 ConversionService 组件:负责数据类型的转换以及格式化功能; ConversionService有非常多的 convert,不同类型的转换和格式化用它自己的 converter; Spring MVC 上下文中内建了很多转换器,可完成大多数
阅读全文
28第八章:01_SpringMVC—数据绑定流程分析
摘要:一、问题引入 在做 Restful 案例的时候,我们在控制器方法入参位置写一个 Employee 类型的参数,SpringMVC 就能把表单中各项属性封装到参数中,这是怎么做到的呢? //SpringMVC把表单提交的数据都封装到employee 对象中 @RequestMapping(value
阅读全文