01 2022 档案
摘要:GIT指令操作指南 一、基本命令二、远程操作三、分支管理 上面是模板,下面是举例 一、基本命令 1.初始化一个git仓库 git init 2.把文件添加到仓库(暂存区) //添加全部 git add . //添加指定文件 git add git add readme.text 3.把文件提交到仓库
阅读全文
摘要:ExceptionFilter异常筛选器 一、什么是Filter二、在不同环境下,异常响应三、自定义异常信息 一、什么是Filter aaa(); bbbb(); ccc(); 我们原本的代码逻辑就三行, aaa(); log(); bbbb(); log() ccc(); 但一些跟业务逻辑不想关的
阅读全文
摘要:IActionResult与ActionResult 1.IActionResult的返回数据类型不能转换。只能return OK();return NotFound(); … 2.使用ActionResult可以进行类型转换。可以返回 return string;return int; … 还能返
阅读全文
摘要:缓存雪崩 一、什么是缓存雪崩二、解决办法 一、什么是缓存雪崩 1.缓存集中过期引起的缓存雪崩 2.举例双十一抢购 假设:首页100个抢购商品,缓存为五分钟 在开始有100个商品的缓存,如果5min同时缓存过期, 服务器周期性的压力增大。当请求的足够多的时候服务器就会奔溃。 所以我们需要设置缓存为阶梯
阅读全文
摘要:缓存穿透 一、什么是缓存穿透二、避免缓存穿透 一、什么是缓存穿透 当查找存在的id时上面的内容是没问题的, 但是当恶意请求非法id的话,都会请求数据库。 这时如果有大量的非法请求的话,就会使服务器压力过大 二、避免缓存穿透 1.我们可以让缓存的值重null变成字符串的”null“” 让非法的id请求
阅读全文
摘要:缓存的时间过期策略 一、及时的更正数据二、两种时间策略1.绝对过期时间(AbsoluteExpirationRelativeToNow)2.滑动过期 三、内存缓存的是非 一、及时的更正数据 1.当我们设置缓存,没有设置过期时间只有重启服务器缓存才能过期。 2.当我们数据发生了改变,不能及时的更新缓存
阅读全文
摘要:内存缓存 一、缓存数据类型二、缓存特性三、用法 一、缓存数据类型 缓存放到应用程序的内存中。内存缓存中保存的是一系列的键值对。就像Dictionary类型一样。 二、缓存特性 内存缓存保存在当前运行的网站程序的内存中是和进程相关的。因为在web服务器中,多个网站是运行在不同的进程中的,因此不同进程的
阅读全文
摘要:服务端响应缓存 一、双端区别二、UseResponseCaching()缓存中间件三、服务端缓存缺陷1.恶意请求会造成服务器压力过大2.服务端缓存限制3.解决办法 一、双端区别 1.客户端 当有客户端响应缓存后,再次向服务器请求相同的地址,会直接从缓存中读取,但不同的浏览器间的缓存并不共享。 2.服
阅读全文
摘要:客户端响应缓存 一、cache-control二、[ResponseCache] 一、cache-control 服务器若返回cache-control:max-age=60;可以让浏览器响应缓存60秒, 当60秒内再次访问,不会再去请求服务器了 二、[ResponseCache] 这个特性会在服务
阅读全文
摘要:前,中,后序遍历 一、Java二、C# 一、Java 1.TreeNode类 package com.company; public class TreeNode { int value; TreeNode Left; TreeNode Right; TreeNode (int value) { t
阅读全文
摘要:IQueryable的延迟执行 一、IQueryable不遍历二、IQueryable不遍历三、IQueryable特性四、为什么延迟构建 一、IQueryable不遍历 只执行,然后在控制台打印sql语句日志 IQueryable<Comment> comment = ctx.Comments.W
阅读全文
摘要:IQueryable与IEnumerable的区别 一、IQueryable与IEnumerable的简单实例二、IQueryable与IEnumerable的区别 一、IQueryable与IEnumerable的简单实例 1.IEnumble List<Comment> list = new L
阅读全文
摘要:原生Sql语句 一、在EFCore的体系下执行原生SQL1.执行查询原生sql(FromSqlInterpolated)2.执行非查询sql(ExecuteSqlInterpolatedAsync) 二、使用ADO.NET体系下执行纯原生SQL1.为什么使用ADO.NET2.ADO.NET举例 一、
阅读全文
摘要:单向导航属性 一、双向导航与单项导航二、单向导航三、创建实例1.建立实体关系2.配置Leave实体关系3.添加数据 一、双向导航与单项导航 文章实体 class Article { public List<Comment> Comments { get; set; } = new List<Comm
阅读全文
摘要:为什么使用额外属性 一、一对多关系的数据获取二、当我们想只想查评论对应的文章id就需要设置额外属性 一、一对多关系的数据获取 1.设置导航属性 2.当我们设置了两个实体一对多的导航属性后, 然后去获取他们的数据 我们遍历comments中的数据,按理说应该会有comment的数据 运行结果: 这里看
阅读全文
摘要:关系的配置之一对多 一、关系配置的套路二、一对多1.创建实体2.实体配置3.迁移4.控制台进行数据操作5.关系依赖添加 二、一对一1.实体属性2.配置关系 三、多对多 一、关系配置的套路 EFCore中配置的套路 HasXXX(…).WithXXX(…); XXX有One与Many两个选项, Has
阅读全文
摘要:通过代码查看Sql语句 一、为什么要使用代码使用SQL二、代码查看的方式1.标准日志模式2.简单日志LogTo3.ToQueryString 三、总结 一、为什么要使用代码使用SQL Profiler是显示所有活动,如果一个服务器是多个人员使用,产生的Sql非常多,即使使用过滤也很麻烦 二、代码查看
阅读全文