缓存webapi core net

redis集群,模块启动报错:PoolException: Returned connection io.lettuce.core.cluster.StatefulRedisClusterConnectionImpl@49bd0985 was either previously returned or does not belong to this connection provider

redis 3主3从的配置 启动正常,客户端命令使用正常,突然今天开发测试环境 有些模块报错了: org.springframework.data.redis.connection.PoolException: Returned connection io.lettuce.core.cluster. ......

LRU缓存替换策略及C#实现

目录 LRU缓存替换策略 核心思想 不适用场景 算法基本实现 算法优化 进一步优化 Benchmark LRU缓存替换策略 缓存是一种非常常见的设计,通过将数据缓存到访问速度更快的存储设备中,来提高数据的访问速度,如内存、CPU缓存、硬盘缓存等。 但与缓存的高速相对的是,缓存的成本较高,因此容量往往 ......
缓存 策略 LRU

LRU缓存替换策略及C#实现

LRU缓存替换策略 缓存是一种非常常见的设计,通过将数据缓存到访问速度更快的存储设备中,来提高数据的访问速度,如内存、CPU缓存、硬盘缓存等。 但与缓存的高速相对的是,缓存的成本较高,因此容量往往是有限的,当缓存满了之后,就需要一种策略来决定将哪些数据移除出缓存,以腾出空间来存储新的数据。 这样的策 ......
缓存 策略 LRU

Redis 缓存机制

1.Redis 缓存 缓存(cache),原始意义是指访问速度比一般随机存取存储器(RAM)快的一种高速存储器,通常它不像系统主存那样使用 DRAM 技术,而使用昂贵但较快速的 SRAM 技术。缓存的设置是所有现代计算机系统发挥高性能的重要因素之一。 Redis 因读写性能较高,它非常适合作为存贮数 ......
缓存 机制 Redis

.net 将对象序列化成字符串,出现转义符问题

.net 将对象序列化成字符串,出现转义符问题 问题出现原因: 如果出现转义符,一般是因为进行了两次序列化才导致这样的情况的,也就是说,内层某个key的value已经序列化成字符串了, 外层再次序列化的时候,又对内层进行了第二次序列化,所以导致内层的属性或者说是键值对,出现了转义符。 解决办法: 内 ......
转义 字符串 序列 字符 对象

java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/ConditionalTagSupport 解决办法

1.报错截图 2.问题原因 缺少对应的类 3.问题解决 <dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>1.1.2</version> </dependency> <dependen ......

asp.net core 生成文件下载

1 public IActionResult down(int id, string filename) 2 { 3 string path = hostingEnvironment.WebRootPath + "/ContractFiles/" + id + "/" + filename; 4 5 ......
文件下载 文件 core asp net

[!] CDN: trunk URL couldn‘t be downloaded: https://cdn.jsdelivr.net/cocoa/

热烈欢迎,请直接点击!!! 进入博主App Store主页,下载使用各个作品!!! 注:博主将坚持每月上线一个新app!!! 清华 CocoaPods 镜像源:CocoaPods 镜像使用帮助 CocoaPods 是一个 Cocoa 和 Cocoa Touch 框架的依赖管理器,具体原理和 Home ......
downloaded jsdelivr couldn trunk cocoa

ASP.NET Web API 中的参数绑定

请考虑使用 ASP.NET Core Web API。 与 ASP.NET 4.x Web API 的比,它具有以下优势: ASP.NET Core是一个开源的跨平台框架,用于在 Windows、macOS 和 Linux 上构建基于云的新式 Web 应用。 ASP.NET Core MVC 控制器 ......
参数 ASP API NET Web

在EF Core中为数据表按列加密存储

假设有User表 public class User : Entity<int> { public int Id { get; set; } public string UserName { get; set; } public string Name { get; set; } public st ......
数据表 数据 Core

缓存短信验证码

原来: 验证码存储在session中,有效期默认30分钟。 改造: 1、在服务端UserController中注入RedisTemplate对象,用于操作Redis。 2、在服务端UserController的sendMsg方法中,将随机生成的验证码缓存到Redis中,并设置有效期为5分钟 3、在服 ......
缓存 短信

c# .net 静态织入 代码生成 Source Generators

必须创建 netstandard项目【ClassLibrary1】来存放代码生成接口 [Generator] public class DemoSourceGenerator : ISourceGenerator { public void Execute(GeneratorExecutionCon ......
代码生成 静态 Generators 代码 Source

在AspNet Core项目中集成Serilog

1.引入Nuget包 Serilog.AspNetCore 2.配置Serilog using Serilog; Log.Logger = new LoggerConfiguration() .WriteTo.Console() // 添加console日志输出 .WriteTo.Debug() / ......
Serilog 项目 AspNet Core

linux上安装.net 5.0

一、CentOS8.2在线安装.net 5.0 直接执行命令:sudo dnf install dotnet-sdk-5.0 二、centos7.6 在线安装.net 5.0 首先,配置仓库: sudo rpm -Uvh https://packages.microsoft.com/config/c ......
linux 5.0 net

linux部署.NET6.0项目

一、CentOS7.9配置SSH实现远程连接方法过程 1.确认是否安装ssh yum list installed | grep openssh-server 有输出内容,说明已安装; 2.安装SSH服务 yum install openssh-server 已安装的可以直接跳过。 3.编辑配置 v ......
项目 linux NET6 NET

.Net 6 使用Ocelot、Consul、Ids4系列

.Net 6 使用Ocelot、Consul、Ids4系列 主要以Ocelot为切入点,先进行.net 6的简单实现于应用在此基础上逐步扩展 一、先了解一下Ocelot的用法 API网关是:系统暴露在外部的一个访问入口。从面向对象设计的角度看,它与外观模式类似。API网关封装了系统内部架构,为每个客 ......
Consul Ocelot Ids4 Net Ids

log4net配置

<configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /> </configSections> <log4net> <root> <!--控制 ......
log4net 4net log4 log net

缓存优化——环境搭建

maven坐标 在项目的pom.xml文件中导入spring data redis的maven坐标: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis ......
缓存 环境

缓存优化——准备工作

用户点餐存在问题: 用户数量多,系统访问量, 频繁访问数据库,系统性能下降,用户体验差。 gitee管理代码: 将reggie项目推送到gitee的一个仓库的master分支中,master分支保留原始版本。新建一个分支专门用来优化代码。 ......
缓存

如何实现线程安全的内存缓存

如何实现线程安全的内存缓存 这两天正好看到一个用go实现的线程安全的内存缓存,实现代码非常简洁高效,不卖弄不烧脑,非常值得初学者拿来学习。 项目地址 项目地址在https://github.com/muesli/cache2go,目前已经有1.8k的star。 如何使用 package main i ......
线程 缓存 内存

vue 之 computed方法自带缓存踩坑1

使用场景:ant-vue 穿梭框使用 页面使用computed方法处理组织结构数据,退出页面时,对加载数据做了set null 操作,再次进入页面时,穿梭框只显示数据,无法做左右穿梭功能。 原因:computed方法在页面初始化时执行,且只执行一次,并会将方法内的数据进行缓存。退出页面做了数据清除工 ......
缓存 computed 方法 vue

最全.NET Core 、.NET 5、.NET 6和.NET 7简介和区别

.NET是一种用于构建多种应用的免费开源开发平台,可以使用多种语言,编辑器和库开发Web应用、Web API和微服务、云中的无服务器函数、云原生应用、移动应用、桌面应用、Windows WPF、Windows窗体、通用 Windows平台 (UWP)、游戏、物联网 (IoT)、机器学习、控制台应用、 ......
NET 简介 Core

一个.Net简单、易用的配置文件操作库

在我们日常项目开发中,操作INI/CFG配置文件,往往会通过调用WinAPI来实现,WinAPI接口参数只支持字符串,而我们项目中,往往数据类型是多种多样的,在保存和获取配置值,我们就要进行类型的转换。 今天给大家推荐一个操作库,这个库就可以解决我们的问题。 项目简介 这是一个基于.Net开发的简单 ......
文件 Net

EF Core从TPH迁移到TPT

EF Core从TPH迁移到TPT Intro# EF Core支持多种方式处理具有继承关系的表,现在支持TPH、TPC(EF Core 7)、TPT,具体的实现方式可以参考官方文档和这篇文章。 大致总结一下不同的方式的区别:TPH:所有的类型都放在一张表中,使用discriminator字段用以区 ......
Core TPH TPT EF

.Net下的CORS跨域设置

.Net下的CORS跨域设置 CORS跨域访问问题往往出现在“浏览器客户端”通过ajax调用“服务端API”的时候。而且若是深究原理,还会发现跨域问题其实还分为【简单跨域】与【复杂跨域】这两种情况。 网上对解决跨域限制有很多说明文章,但绝大多数要么解决的不完善(比如,没有区分【简单跨域】与【复杂跨域 ......
CORS Net

.NET/C#操作Redis的简单方法

.NET/C#操作Redis的简单方法 本文属于Redis初级应用,只起初步引路作用,高手们可略过。 支持.Net Core(2.0及以上)/.Net Framework(4.5及以上),可以部署在Docker, Windows, Linux, Mac。 Redis作为一款主流的缓存工具在业内已广受 ......
方法 Redis NET

使用.Net对图片进行裁剪、缩放、与加水印

使用.Net对图片进行裁剪、缩放、与加水印 图片的裁剪、缩放、与加水印,是任何系统经常要用到的功能,它们现已集成到IUtility工具中,使用十分简便。(具体代码将在文末给出,支持.NET/.NET Framework/.NET Core) 现给出一张“原图”,如下: (1)原图裁剪后的效果如下: ......
水印 图片 Net

一个非常简单用.NET操作RabbitMQ的方法

一个非常简单用.NET操作RabbitMQ的方法 RabbitMQ作为一款主流的消息队列工具早已广受欢迎。相比于其它的MQ工具,RabbitMQ支持的语言更多、功能更完善。 本文提供一种市面上最/极简单的使用RabbitMQ的方式(支持.NET/.NET Framework/.NET Core),只 ......
RabbitMQ 方法 NET

高效简单的.Net数据库“访问+操作”技术

高效简单的.Net数据库“访问+操作”技术 本文技术源自外企,并已在多个世界500强大型项目开发中运用。 本文适合有初步C#、Linq、Sql知识的同学阅读。 相关技术在IDataAccess接口中提供。 IDataAccess所在的命名空间是:DeveloperSharp.Framework.Qu ......
数据库 数据 技术 Net

.Net下的Http请求调用(Post与Get)

.Net下的Http请求调用(Post与Get) http请求调用是开发中经常会用到的功能。在内,调用自有项目的Web Api等形式接口时会用到;在外,调用一些第三方功能接口时,也会用到,因为,这些第三方功能往往是通过http地址的形式提供的,比如:短信服务、在线翻译、地图服务、语音智能、等… ht ......
Http Post Net Get