随笔分类 - ASP.NET/.NET Core
摘要:redis 异常 缓存雪崩缓存穿透缓存击穿缓存预热缓存降级 1. 缓存雪崩是指缓存同一时间大面积的失效,所以,后面的请求都会落到数据库上,造成数据库短时间内承受大量请求而崩掉。 解决方案 缓存数据的过期时间设置随机,防止同一时间大量数据过期现象发生。一般并发量不是特别多的时候,使用最多的解决方案是加
阅读全文
摘要:电商秒杀流程和业务分析总结 1.秒杀,流程,高并发压测,定向优化,流量自适应 秒杀特点: 1.瞬间流量高峰,非线性流量 2.即时性要求高, 3.对抗恶意刷单,类ddoc攻击 4.内部防御 2.症状:数据库卡死,服务器down,超卖 3.思路: 1.高频请求尽量复用,避免动态响应,详情页; 2.必须动
阅读全文
摘要:雪花算法解决的问题: 全局唯一,聚集索引,递增趋势,高可用高性能,信息安全; GUID 不能满足上面需求; 雪花算法设计思路:64位,可满足分布式环境下唯一性,递增性,聚集索引,信息安全(从id上不能看到订单的信息) 根据区域划分的ID :如Aid:1 10亿Bid:10亿--20亿Cid:20亿-
阅读全文
摘要:下载路径https://github.com/ServiceStack/ServiceStack.Text找到LicenseUtils类: 修改 ServiceStack.text源代码6000限制方法:直接修改 LicenseUtils里面的ApprovedUsage,直接return代码如下pu
阅读全文
摘要:nginx 优先请求静态页,若没有请求动态页 配置: location /item { #优先请求静态页 alias d:/web/staticfile/; # 文件不存在请求 if (!-f $request_filename) { proxy_pass http://localhost:5728
阅读全文
摘要:docker 使用汇总 1.docker 好处,原理,安装, 2.image,container 3.docker 命令,dockefile部署asp.netcore ,nginx,redis 4. docker-compose批处理,管理配置一台服务器上的多个docker 容器和应用程序; 5.d
阅读全文
摘要:先有数据库,然后通过映射得到实体(和数据库的表对应); 可用做为一个实体生成器,每次有数据库表的修改,可以执行一下命名,重新生成实体类 Install-Package Microsoft.EntityFrameworkCore Install-Package Microsoft.EntityFram
阅读全文
摘要:通过代理模式(包一层),来实现对业务增加功能如日志,异常处理,缓存结果,感觉挺好的,到达不破坏原有的业务代码,扩展了功能 /// <summary> /// 包一层:没有什么技术问题是包一层不能解决的,如果有,就再包一层 /// 比如来个日志记录,可以避免修改业务类,只需要修改代理类 /// 再来个
阅读全文
摘要:Mongodb基本操作 查询数据库show databases切换数据库use test查询当前数据库下面的集合show collections创建集合db.createCollection("集合名称")删除集合db.集合名称.drop()删除数据库db.dropDatabase() //首先要通
阅读全文
摘要:startup.cs 里修改静态文件的地址: app.UseStaticFiles(new StaticFileOptions() { FileProvider =new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(
阅读全文
摘要:Quartz.net 3.0 定时任务,数据统计,排行榜,数据同步,lucene索引更新 1.Quartz nuget 添加 引用2.三大核心对象:IScheduler:单元/实例,在这里完成定时任务的配置 只有单元启动,里面的作业才能正常运行; IJob:任务 ITrigger:定时策略 1 qu
阅读全文
摘要:DB 优化:客户端-->协议层--》执行计划数据库是把东西有序放好,还能随时找到,在硬盘上,是一个应用程序索引:page数据页,IAM page ,index page 索引页 建立索引的原则:1.主键必须建立索引(推荐数值主键,性能最高)2.外键列也要索引3.经常查询的建立索引4.经常在where
阅读全文
摘要:c# 多线程使用总结 线程:Thread类是C#语言对线程对象的一个封装;4核8进程:模拟核,一个CPU每秒10亿次计算,可以分成多个片,每个片可被一个线程使用CPU分片:操作系统把:CPU分片,一个物理CPU同时只能为一个任务服务; 同步方法:发起调用,执行完后依次执行下一个任务异步方法:任何一个
阅读全文
摘要:4种加密,解密算法: 1.MD5 不可逆加密:MD5Encrypt.Encrypt,长度32,2的128次方,MD5两次,MD5加盐 MD5 公开的算法,任何语言都可以用 相同原文加密结果式一样的;不同内容 长度加密后是32位; 不可逆加密 1 防止被篡改 2 防止明文存储 3 防止抵赖,数字签名
阅读全文
摘要:文件操作及4种序列化 介绍 1 文件夹/文件 检查、新增、复制、移动、删除,递归编程技巧2 文件读写,记录文本日志,读取配置文件3 三种序列化器,xml和json 1.二进制序列化:不支持跨平台,序列化生成文件体积小; 2.soapserialize序列化:跨平台,序列化生成文件体积大; 3.xml
阅读全文
摘要:将一个model 转换为另一个model(字段一样) PeopleCopy peopleCopy1 = ReflectionMapper.Trans<People, PeopleCopy>(people);//1 反射 性能2199 PeopleCopy peopleCopy2 = Serializ
阅读全文
摘要:1.匿名方法 lambda表达式 2.匿名类 var 扩展方法3.linq to object:4.yield 爹迭代器:完成了数据的按需获取,延迟加载,yieId 跟IEnumerable 配对使用 5.Linq常用方法介绍:Linq--Where:把对数据过滤的通用操作完成,把可变的逻辑交给委托
阅读全文
摘要:lambda 是实例化委托的一个参数,是一个方法1.0 委托2.0 匿名方法,delegate 关键字3.0 lambda 表达式,参数列表 => goesto 方法体4.0 省略参数类型,参数类型由委托推算出来,是语法糖5.0 如何方法体只有一行,可以去掉大括号,分号6.0 可以省掉 new 关键
阅读全文
摘要:1.隐式类型(var) var a=list.name; 2.Action action=this.DoNothing;=new Action(this.DoNothing);
阅读全文