李sir_Blog

博客园 首页 联系 订阅 管理
  705 随笔 :: 58 文章 :: 134 评论 :: 193万 阅读

01 2022 档案

摘要:使用Blend设计出符合效果的WPF界面 - 天道酬勤0322 - 博客园 (cnblogs.com) 阅读全文
posted @ 2022-01-27 09:11 李sir 阅读(244) 评论(0) 推荐(0) 编辑

摘要:UDF是mysql的一个拓展接口,UDF(Userdefined function)用户自定义函数。在什么地方使用这个功能呢,试想有如下场景: 你的网站使用mysql作为最终数据落地的存储引擎,而redis作为缓存以减小查询请求穿透到mysql的数量,可以极大的降低数据库性能瓶颈带来的整个网站对外服 阅读全文
posted @ 2022-01-26 10:19 李sir 阅读(1452) 评论(1) 推荐(1) 编辑

摘要:什么是限流?为什么要限流? 不知道大家有没有坐过帝都的地铁,就是进地铁站都要排队的那种,为什么要这样摆长龙转圈圈?答案就是为了限流!因为一趟地铁的运力是有限的,一下挤进去太多人会造成站台的拥挤、列车的超载,存在一定的安全隐患。同理,我们的程序也是一样,它处理请求的能力也是有限的,一旦请求多到超出它的 阅读全文
posted @ 2022-01-26 10:06 李sir 阅读(299) 评论(0) 推荐(0) 编辑

摘要:概述: edis主从:可以一主多从,redis主服务器负责读写,从服务器只负责读。master写入完成后会将指令发给slave服务器,这个过程是异步的,slave服务器根据指令写入,所以存在读取数据延迟的问题。 哨兵 :redis主从配置好后,主节点挂掉后,哨兵模式会自动将从节点升级为主节点,它主要 阅读全文
posted @ 2022-01-26 09:56 李sir 阅读(173) 评论(0) 推荐(0) 编辑

摘要:1.同步MySQL数据到Redis (1) 在redis数据库设置缓存时间,当该条数据缓存时间过期之后自动释放,去数据库进行重新查询,但这样的话,我们放在缓存中的数据对数据的一致性要求不是很高才能放入缓存当中。 例如:缓存量大但又不常变化的数据,比如商品信息的评论。 (2) 基于binlog使用my 阅读全文
posted @ 2022-01-26 09:21 李sir 阅读(3777) 评论(0) 推荐(0) 编辑

摘要:在本部分中,将添加一个 HTML 页面,其中包含用于创建和管理待办事项的窗体。 事件处理程序会附加到页面上的元素。 事件处理程序导致对 Web API 的操作方法发出 HTTP 请求。 Fetch API 的 fetch 函数可启动每个 HTTP 请求。 fetch 函数可返回 Promise 对象 阅读全文
posted @ 2022-01-12 13:58 李sir 阅读(671) 评论(0) 推荐(0) 编辑

摘要:本教程创建对 MongoDB NoSQL 数据库执行创建、读取、更新和删除 (CRUD) 操作的 Web API。 在本教程中,你将了解: 配置 MongoDB 创建 MongoDB 数据库 定义 MongoDB 集合和架构 从 Web API 执行 MongoDB CRUD 操作 自定义 JSON 阅读全文
posted @ 2022-01-12 13:40 李sir 阅读(197) 评论(0) 推荐(0) 编辑

摘要:向 Movie 模型添加了验证逻辑。 确保每当用户创建或编辑电影时,都会强制执行验证规则。 坚持 DRY 原则 MVC 的设计原则之一是 DRY(“不要自我重复”)。 ASP.NET Core MVC 支持你仅指定一次功能或行为,然后使它应用到整个应用中。 这可以减少所需编写的代码量,并使编写的代码 阅读全文
posted @ 2022-01-12 08:40 李sir 阅读(168) 评论(0) 推荐(0) 编辑

摘要:在此部分中,Entity Framework Code First 迁移用于: 将新字段添加到模型。 将新字段迁移到数据库。 使用 EF Code First 自动创建数据库时,Code First 将: 将表添加到数据库,以跟踪数据库的架构。 验证数据库与生成它的模型类是否同步。 如果它们不同步, 阅读全文
posted @ 2022-01-12 08:31 李sir 阅读(85) 评论(0) 推荐(0) 编辑

摘要:控制器向视图中传值ViewData详解 1.将一个字符串传值到视图中 在action中我们将字符串保存在ViewData(或ViewBag [asp.net 3或以上才可用])中代码如下: public ActionResult Index() { ViewData["str1"]= "这是一个字符 阅读全文
posted @ 2022-01-11 08:38 李sir 阅读(103) 评论(0) 推荐(0) 编辑

摘要:默认情况下,静态文件(如 HTML、CSS、图像和 JavaScript)是 ASP.NET Core 应用直接提供给客户端的资产。 查看或下载示例代码(如何下载) 提供静态文件 静态文件存储在项目的 Web 根目录中。 默认目录为 {content root}/wwwroot,但可通过 UseWe 阅读全文
posted @ 2022-01-10 13:40 李sir 阅读(371) 评论(0) 推荐(0) 编辑

摘要:状态管理 可以使用几种方法存储状态。 本主题稍后将对每个方法进行介绍。 状态管理 存储方法存储机制 Cookie HTTP cookie。 可能包括使用服务器端应用代码存储的数据。 Session State HTTP cookie 和服务器端应用代码 TempData HTTP cookie 或会 阅读全文
posted @ 2022-01-10 13:32 李sir 阅读(493) 评论(0) 推荐(0) 编辑

摘要:在ASP.NET Core应用程序中,有哪些不同的配置资源可用呢? 什么是ASP.NET Core appsetting.json文件? 在ASP.NET Core应用程序中,怎样获取配置文件的信息? ASP.NET Core应用程序中配置执行的顺序是怎样的? 读取配置,默认的顺序是怎样的? 在AS 阅读全文
posted @ 2022-01-10 09:30 李sir 阅读(3436) 评论(0) 推荐(2) 编辑

摘要:从上面的图片中你可以看到,我们项目的属性中有一个launchSettings.json文件。那么我们来一起学习这个重要的文件吧。 launchSettings.json文件 当我们使用Visual Studio或者.NET Core CLI运行项目的时候,就会使用到LaunchSettings.js 阅读全文
posted @ 2022-01-10 09:27 李sir 阅读(601) 评论(0) 推荐(0) 编辑

摘要:ASP.NET Filers用来在MVC框架的不同请求处理阶段,注入额外的逻辑。过滤器为横切关注点提供了一种方法(日志记录,授权,缓存)。 在这篇文章中,我将会向你介绍MVC框架支持的各种不同种类过滤器,怎样控制过滤器的执行,怎样创建和使用过滤器。我们可以创建自定义的过滤器。在每一个请求中,控制器中 阅读全文
posted @ 2022-01-10 09:24 李sir 阅读(168) 评论(0) 推荐(0) 编辑

摘要:路由是一个模式匹配系统,它确保你能够将浏览器的请求,传递到控制器特定的Action方法上。路由引擎使用路由表,来将浏览器发送来的请求URL和路由表中定义的URL进行匹配。RouteConfig文件用来添加路由规则,路由是调用控制器和Action的方式。 我们在Global.asax文件中注册路由:通 阅读全文
posted @ 2022-01-10 09:22 李sir 阅读(141) 评论(0) 推荐(0) 编辑

摘要:HTML Helpers是用来创建HTML标签进而创建HTML控件的。HTML Helper仅仅是一个返回HTML字符串的方法。ASP.NET MVC 中有三种HTML Helpers: 1.Inline HTML Helper(内联HTML Helper):主要是通过使用Razor语法中的@hel 阅读全文
posted @ 2022-01-10 09:18 李sir 阅读(318) 评论(0) 推荐(0) 编辑

摘要:.net core 拦截器的使用 实例代码:https://gitee.com/D_C_L/InterceptorTest.git 拦截器主要是将程序中的一些可以独立出去的模块进行拦截,比如幕等性,和身份认证服务等等,你想独立出去的东西,ActionFilterAttribute请求拦截器他里面几个 阅读全文
posted @ 2022-01-10 09:01 李sir 阅读(947) 评论(0) 推荐(0) 编辑

摘要:在开发ASP.NET 以及ASP.NET Core过程中主要使用的页面传值的方法有以下几种: Request.QueryString[] Request.Form[] Session, Cookie Cache Application, Server.Transfer Database HttpCo 阅读全文
posted @ 2022-01-10 08:56 李sir 阅读(1122) 评论(0) 推荐(0) 编辑

摘要:第一步先注册session: 在Startup.cs文件中的ConfigureServices方法中添加: services.AddSession(); 在Startup.cs文件中的Configure方法中加上这一句代码 app.UseSession(); 第二步从nuget安装Microsoft 阅读全文
posted @ 2022-01-10 08:45 李sir 阅读(408) 评论(0) 推荐(0) 编辑

摘要:我只发现IOptions的一个用处——方便了在.NET Core应用程序中使用强类型配置。 有如下appsettings.json配置文件 { "topClient": { "serverUrl": "", "appKey": "", "appSecret": "" } } 为此定义了一个配置类To 阅读全文
posted @ 2022-01-10 08:36 李sir 阅读(336) 评论(0) 推荐(0) 编辑

摘要:1.定义一个接口 2.实现该接口 3.注入服务 4.使用 5.使用扩展方法注册服务 阅读全文
posted @ 2022-01-10 08:34 李sir 阅读(202) 评论(0) 推荐(0) 编辑

摘要:中间件管道模型 中间件的配置 自定义中间件 中间件是一类装配在应用管道的代码,负责处理请求和响应。每个中间件都可在管道中的下一个组件前后执行工作,并选择是否将请求传递到管道中的下一个中间件。在Startup.Configure方法中可以进行中间件的装配。 中间件管道模型 中间件管道模型如下图所示: 阅读全文
posted @ 2022-01-08 08:40 李sir 阅读(93) 评论(0) 推荐(0) 编辑

摘要:(180条消息) IOC容器之Unity与AutoFac_王者南哥-CSDN博客_unity和autofac 阅读全文
posted @ 2022-01-08 08:32 李sir 阅读(293) 评论(0) 推荐(0) 编辑

摘要:webapi框架搭建系列博客 本文只是一些基本的vs操作,供初学者参考,有基础的请查看 创建项目(二) 创建项目(三) 前言 为了从头了解webapi的技术,创建一个为空的项目 步骤 我用的是vs2017,从文件--》新建--》项目--》web--》asp.net web应用程序。 vs2017以前 阅读全文
posted @ 2022-01-07 09:13 李sir 阅读(172) 评论(0) 推荐(0) 编辑

摘要:阅读目录: 介绍 基于IP全局限流 基于IP的端点限流 基于IP和客户端key的端点限流 IP和客户端key的白名单 IP和客户端key自定义限制频率 端点自定义限制频率 关于被拒请求的计数器 在web.config或app.config中定义限制策略 获取API的客户端key 存储限流的数据 运行 阅读全文
posted @ 2022-01-07 08:38 李sir 阅读(213) 评论(0) 推荐(0) 编辑

摘要:mongodb和memcached不是一个范畴内的东西。mongodb是文档型的非关系型数据库,其优势在于查询功能比较强大,能存储海量数据。mongodb和memcached不存在谁替换谁的问题。和memcached更为接近的是redis。它们都是内存型数据库,数据保存在内存中,通过tcp直接存取, 阅读全文
posted @ 2022-01-07 08:30 李sir 阅读(141) 评论(0) 推荐(1) 编辑

摘要:1. 创建ODBC数据源 2. 逆向工程 阅读全文
posted @ 2022-01-07 08:26 李sir 阅读(159) 评论(0) 推荐(0) 编辑

摘要:七、修改数据 在上一篇 C# Redis实战(六)中介绍了如何查询Redis中数据,本篇将介绍如何修改Redis中相关数据。大家都知道Redis是key-value型存储系统,所以应该可以修改key,也可以根据key来修改value。接下来将是详细的C#语言修改Redis示例。 1、通过key修改单 阅读全文
posted @ 2022-01-06 10:16 李sir 阅读(257) 评论(0) 推荐(0) 编辑

摘要:六、查询数据 在C# Redis实战(五)中介绍了如何删除Redis中数据,本篇将继续介绍Redis中查询的写法。 1、使用Linq匹配关键字查询 using (var redisClient = RedisManager.GetClient()) { var user = redisClient. 阅读全文
posted @ 2022-01-06 10:15 李sir 阅读(203) 评论(0) 推荐(0) 编辑

摘要:五、删除数据 在C# Redis实战(四)中讲述了如何在Redis中写入key-value型数据,本篇将讲述如何删除Redis中数据。 1、void Delete(T entity);删除函数的运用 using (var redisClient = RedisManager.GetClient()) 阅读全文
posted @ 2022-01-06 10:14 李sir 阅读(311) 评论(0) 推荐(0) 编辑

摘要:四、写入数据 在C# Redis实战(三)中我们已经配置好了web.config程序,并且能通过C#代码来读取和管理以上配置信息。 接下来,就可以进行Redis的数据写入了。Redis中可以用Store和StoreAll分别保存单条和多条数据,C#中具体代码如下: 1、保存多条数据 protecte 阅读全文
posted @ 2022-01-06 10:13 李sir 阅读(232) 评论(0) 推荐(0) 编辑

摘要:三、程序配置 在C# Redis实战(二)中我们安装好了Redis的系统服务,此时Redis服务已经运行。 现在我们需要让我们的程序能正确读取到Redis服务地址等一系列的配置信息,首先,需要在Web.config文件中添加如下信息: <?xml version="1.0" encoding="ut 阅读全文
posted @ 2022-01-06 10:12 李sir 阅读(354) 评论(0) 推荐(0) 编辑

摘要:二、Redis服务 在C# Redis实战(一)中我将所有文件拷贝到了D盘redis文件夹下,其中redis-server.exe即为其服务端程序,双击即开始运行,如图 可以将此服务设置为windows系统服务,下载Redis服务安装软件,安装即可。 安装完成在服务中找到此服务,将其设置为自动延迟启 阅读全文
posted @ 2022-01-06 10:11 李sir 阅读(255) 评论(0) 推荐(0) 编辑

摘要:一、初步准备 Redis 是一个开源的使用ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库。Redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。 本文主要讲述的是如何使用C#语言 阅读全文
posted @ 2022-01-06 10:10 李sir 阅读(692) 评论(0) 推荐(0) 编辑

摘要:阅读目录: 介绍 进程缓存 通信方式 速度对比 总结 介绍 之前有童鞋问到关于首次为空的问题,这里简单补充下: 一般来说并发量小、缓存数据量小的网站让用户自行触发页面让其缓存即可。 大点网站都会多台部署,用负载均衡路由。常见的策略是在每台机器发布应用时,节点从负载均衡节点集合中移除,发布结束后,首次 阅读全文
posted @ 2022-01-06 09:56 李sir 阅读(50) 评论(0) 推荐(0) 编辑

摘要:上篇介绍了多级缓存,本章详细介绍下内存缓存该如何设计。 阅读目录: 分析设计 O(1)LRU实现 过期删除策略 总结 分析设计 假设有个项目有比较高的并发量,要用到多级缓存,如下: 在实际设计一个内存缓存前,需要考虑的问题: 1:内存与Redis的数据置换,尽可能在内存中提高数据命中率,减少下一级的 阅读全文
posted @ 2022-01-06 09:53 李sir 阅读(48) 评论(0) 推荐(0) 编辑

摘要:感谢园子里的同学对上一篇的支持,很高兴楼主的一些经验及想法能够对大家有一些帮助。 上次主要讨论缓存读写这块各种代码实现,本篇就上次的问题继续来,看看那些年折腾过的各种缓存做法。 阅读目录: 缓存预热 多级缓存 线程缓存 内存缓存 文件缓存 分布式缓存 DB缓存 多层缓存 总结 缓存预热 上次有同学问 阅读全文
posted @ 2022-01-06 09:52 李sir 阅读(58) 评论(0) 推荐(0) 编辑

摘要:本篇主要介绍下楼主平常项目中,缓存使用经验和遇到过的问题。 阅读目录: 基本写法 缓存雪崩 全局锁,实例锁 字符串锁 缓存穿透 再谈缓存雪崩 总结 基本写法 为了方便演示,这里使用Runtime.Cache做缓存容器,并定义个简单操作类。如下: 1 2 3 4 5 6 7 8 9 10 11 12 阅读全文
posted @ 2022-01-06 09:45 李sir 阅读(49) 评论(0) 推荐(0) 编辑

摘要:SignalR的服务端提供了两种实现方式,分别是PersistentConnection和Hub,这两种方式的侧重点不同: PersistentConnection更接近于底层,编程接口比较简单,传输的数据格式为纯文本,客户端只需要调用发送和定义接收方法就可以实现跟服务端的交互。 Hub则位于更高的 阅读全文
posted @ 2022-01-06 09:36 李sir 阅读(566) 评论(0) 推荐(0) 编辑

摘要:弹幕功能通常用于实时显示当前视频或者文档的评论内容,在上快速飞过的方式呈现,看起来比较酷炫。 这种典型的多用户实时交互的功能,很适合使用SignalR实现,通过SignalR提供后台的服务推送功能,客户端接收消息后呈现出来。 弹幕功能实现起来有点类似聊天室的功能,只是消息的展示方式不同,所以结合Si 阅读全文
posted @ 2022-01-06 09:32 李sir 阅读(89) 评论(0) 推荐(0) 编辑

摘要:上一part《RabbitMQ上手记录–part 4-节点集群(单机多节点)》中介绍了RabbitMQ集群的一些概念以及实现了在单机上运行多个节点,并且将多个节点组成一个集群。 通常情况下的集群节点是不会都放在一个服务器上的,实际情况是分布在不同的服务器上,所以这里我们将会把集群节点部署在多个服务器 阅读全文
posted @ 2022-01-06 09:21 李sir 阅读(322) 评论(0) 推荐(0) 编辑

摘要:上一part《RabbitMQ上手记录–part 5-节点集群高可用(多服务器)》讲到了通过多个服务器来搭建RabbitMQ的节点集群,示例当中提到的服务器都是在同一个局域网中的(实际上是一个机器上的多个不同虚拟机而已),这种使用方式适用于在同一个数据中心的情况。互联网里常常提到异地多活、多数据中心 阅读全文
posted @ 2022-01-06 09:21 李sir 阅读(265) 评论(0) 推荐(0) 编辑

摘要:现在互联网应用动不动就说要HA,好像不搞个HA都不好意思说自己的应用能承载高并发,大用户量访问。RabbitMQ这个经典的消息组件,也必然逃不掉单点失效的尴尬局面。当然在RabbitMQ在被广泛应用于互联网之后,就对这个HA的需求做了实现,提供了集群供。这是RabbitMQ的内置功能,就跟普通集群的 阅读全文
posted @ 2022-01-06 09:19 李sir 阅读(293) 评论(0) 推荐(0) 编辑

摘要:上一篇<<RabbitMQ 上手记录-part 1>>介绍了一些基础知识,整理了一些基础概念。接下来整理一些安装步骤和遇到的问题。 我在CentOS7和Ubuntu16.4上都安装成功过,步骤大同小异,这里以CentOS7为例子,整理一下安装步骤。 CentOS是属于Red Hat Enterpri 阅读全文
posted @ 2022-01-06 09:18 李sir 阅读(56) 评论(0) 推荐(0) 编辑

摘要:接上一part<<RabbitMQ上手记录–part 2 - 安装RabbitMQ>>,这里我们来看看如何通过代码实现对RabbitMQ的调用。 RabbitMQ通常是安装在服务器端,那么要体现它的功能,当然还需要一个客户端来调用。这个客户端通常就是我们的业务系统,那么如何操作RabbitMQ呢?不 阅读全文
posted @ 2022-01-06 09:18 李sir 阅读(70) 评论(0) 推荐(0) 编辑

摘要:RabbitMQ是什么,不用多介绍了,毕竟名声在那,江湖地位摆着,搜索引擎收录着。为什么突然去学习这个框架了,毕竟工作中没有用得上(说来也惭愧,工作中开发的项目没有使用这个框架)。但是作为互联网分布式应用必不可少的一部分——消息服务,总要补上这块只是空白,不然每次被别人问道消息服务是干嘛的,总是很尴 阅读全文
posted @ 2022-01-06 09:17 李sir 阅读(41) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示