缓存 接口redis core
非侵入式入侵 —— Web缓存污染与请求走私
本文介绍了两种攻击者无需直接接触服务端即可攻击和影响用户行为的安全漏洞 —— Web缓存污染与请求走私。Web缓存污染旨在通过攻击者向缓存服务器投递恶意缓存内容,使得用户返回响应结果而触发安全风险。HTTP请求走私旨在基于前置服务器(CDN、反向代理等)与后置服务器对用户请求体的长度判断标准不一致的... ......
重新定义性价比!人工智能AI聊天ChatGPT新接口模型gpt-3.5-turbo闪电更新,成本降90%,Python3.10接入
北国春迟,春寒料峭略带阴霾,但ChatGPT新接口模型gpt-3.5-turbo的更新为我们带来了一丝暖意,使用成本更加亲民,比高端产品ChatGPT Plus更实惠也更方便,毕竟ChatGPT Plus依然是通过网页端来输出,Api接口是以token的数量来计算价格的,0.002刀每1000个to... ......
【ASP.NET Core】修改Blazor.Server的Hub地址后引发的问题
Blazor Server,即运行在服务器上的 Blazor 应用程序,它的优点是应用程序在首次运行时,客户端不需要下载运行时。但它的代码是在服务器上执行的,然后通过 SignalR 通信来更新客户端的 UI,所以它要求必须建立 Web Socket 连接。 用于 Blazor 应用的 Signal ......
ASP.NET Core Web API 接口限流
一. 前言 ASP.NET Core Web API 接口限流、限制接口并发数量,我也不知道自己写的有没有问题,抛砖引玉。 二. 需求 写了一个接口,参数可以传多个人员,也可以传单个人员,时间范围限制最长一个月。简单来说,当传单个人员时,接口耗时很短,当传多个人员时,一般人员会较多,接口耗时较长,一 ......
ASP.NET Core Web API Swagger 按标签Tags分组排序显示
需求 swagger页面按标签Tags分组显示。 没有打标签Tags的接口,默认归到"未分组"。 分组内按接口路径排序 说明 为什么没有使用GroupName对接口进行分组? 暂时不需要,以及不想点击swagger页面右上角那个下拉框。 当然Tags和GroupName不冲突,不影响通过GroupN ......
ASP.NET Core使用filter和redis实现接口防重
背景 日常开发中,经常需要对一些响应不是很快的关键业务接口增加防重功能,即短时间内收到的多个相同的请求,只处理一个,其余不处理,避免产生脏数据。这和幂等性(idempotency)稍微有点区别,幂等性要求的是对重复请求有相同的效果和结果,通常需要在接口内部执行业务操作前检查状态;而防重可以认为是一个 ......
Masa Framework源码解读-02缓存模块(分布式缓存进阶之多级缓存)
序言 今天这篇文章来看看Masa Framework的缓存设计,上一篇文章中说到的MasaFactory的应用也会在这章节出现。文章中如有错误之处还请指点,咱们话不多说,直入主题。 Masa Framework缓存简介 MASA Framework源码地址:https://github.com/ ......
普冉PY32系列(六) 通过I2C接口驱动PCF8574扩展的1602LCD
1602LCD 是工业上常用的模块, 在工厂交通运输设备上经常能见到. 驱动芯片为 HD44780, 1602LCD 的字符显示为两行, 每行16个字符, 字符基于5×8的像素矩阵 ......
【Azure Redis 缓存】示例使用 redisson-spring-boot-starter 连接/使用 Azure Redis 服务
问题描述 在 Spring Boot 项目中,使用 Redisson 连接 Azure Redis 服务,如下是详细的操作步骤(项目源代码文末可下载) 示例步骤 第一步: 在 Spring Boot 的项目中,添加 redisson-spring-boot-starter 依赖 在项目的pom.xm ......
day09-MyBatis缓存
MyBatis缓存 mybatis – MyBatis 3 | cache MyBatis 一级缓存全详解(一) MyBatis 内置了一个强大的事务性查询缓存机制,它可以非常方便地配置和定制。 为了使它更加强大而且易于配置,我们对 MyBatis 3 中的缓存实现进行了许多改进。 1.一级缓存 1 ......
Redis缓存数据库-快速入门
Redis数据库快速入门 一、Redis数据库 介绍: Redis:非关系型缓存数据库 nosql:非关系型数据库 没有表,没有表与表之间的关系,更不存在外键 存储数据的形式为key:values的形式 c语言写的服务(监听端口),用来存储数据的,数据是存储在内存中,取值,放值速度非常快, 10w ......
redis(14)主从复制
Redis主从复制 主机数据更新后根据配置和策略, 自动同步到备机的 master/slaver 机制,Master 以写为主,Slave 以读为主,主从复制节点间数据是全量的。 作用: 读写分离,性能扩展 容灾快速恢复 上图将主服务器复制了3份从服务器,主服务器进行写操作,从服务器进行读操作,读写 ......
redis(13)持久化操作-AOF
AOF(Append Only File) 以日志的形式来记录每个写操作(增量保存),将 Redis 执行过的所有写指令记录下来 (读操作不记录), 只许追加文件但不可以改写文件,redis 启动之初会读取该文件重新构建数据,换言之,redis 重启的话就根据日志文件的内容将写指令从前到后执行一次以 ......
【Apifox Helper】自动生成接口文档,IDEA+Apifox懒人必备
@ 前言 🍊缘由 接口文档对接爽,整理起来真费脑 对于整理API文档,本狗秉承偷懒为上的原则,想找一种在IDEA中直接生成文档的方法。Apifox Helper绝绝子,只需要在IDEA中下载插件,无脑配置后,文档自动生成到Apifox,美完美解决。并且颜值及方便程度绝比Swagger和postma ......
Java+Redis 通过Lua 完成库存扣减,创建消息队列,异步处理消息--实战
需要完成功能 借助redis Stream 数据结构实现消息队列,异步完成订单创建,其中涉及到了缓存(击穿,穿透,雪崩),锁(Redisson),并发处理,异步处理,Lua脚本 IDE:IDEA 2022 1、读取库存数据 【Lua】 2、判断库存 【Lua】 3、扣减库存 【Lua】 4、创建队列 ......
我又和redis超时杠上了
我又和redis超时杠上了 服务监控系列文章 服务监控系列视频 背景 经过上次redis超时排查,并联系云服务商解决之后,redis超时的现象好了一阵子,但是最近又有超时现象报出,但与上次不同的是,这次超时的现象发生在业务高峰期,在简单看过服务器的各项指标以后,发现只有cpu的使用率在高峰期略高,我 ......
一次排查某某云上的redis读超时经历
一次排查某某云上的redis读超时经历 服务监控系列文章 服务监控系列视频 问题背景 最近一两天线上老是偶现的redis读超时报警,我嗅到了一丝不正常的味道,但由于业务繁忙,只是暂时将超时时间从200ms调制500ms,超时情况减少了,不过还是有发生。趁业务空闲期,于是开始着手排查。 排查思路 查阅 ......
Python实战项目6-后端多方式登录接口/手机登录接口
为开源项目共享代码 步骤: 1先fork开源项目 2clone下来,修改代码,进行提交 3提交pr,等作者同意 Pycharm 使用Git 右键文件会列出Git命令 登录注册功能分析 多方式登录接口:用户名/手机号/邮箱 + 密码都可以登陆 发送手机验证码接口 (借助于第三方短信平台) 短信登录接口 ......
Python实战项目-7发送验证码/短信登录/短信注册接口
腾讯云短信开发申请 API和SDK,有SDK优先用SDK SDK: 3.0版本云操作:云操作的sdk,不仅仅有发送短信,还有云功能的其他功能 2.0版本,简单,只有发送短信功能 # 安装sdk -方式一:pip install tencentcloud-sdk-python -方式二源码安装: -下 ......
Python实战项目-10文件存储/支付宝支付/支付成功回调接口
文件存储 视频文件存储在某个位置,如果放在自己服务器上 放在项目的media文件夹 服务器上线后,用户既要访问接口,又需要看视频,都是使用一个域名和端口 分开:问价你单独放在文件服务器上,文件服务器带宽比较高 # 文件服务器:专门存储文件的服务器 -第三方: -阿里云:对象存储 oss -腾讯对象存 ......
ASP.NET Core中如何限制响应发送速率(不是调用频率)
前言 ASP.NET Core中有很多RateLimit组件,.NET 7甚至推出了官方版本。不过这些组件的主要目标是限制客户端访问服务的频率,在HTTP服务器崩溃前主动拒绝部分请求。如果请求没有被拒绝服务会尽可能调用资源尽快处理。 现在有一个问题,有什么办法限制响应的发送速率吗?这在一些需要长时间 ......
一个.Net Core开源缓存中间件,让你更加简单、方便使用缓存
上次给大家推荐过一个缓存中间件《一个C#开发的非常实用的缓存中间件》,今天再给大家推荐一个缓存中间件,两者功能差不多,都是提供统一接口、多级缓存、分布式缓存、支持多种Provider等。 项目简介 这是一个基于.Net Core开发的缓存中间件,它支持各种缓存并提供了很多高级功能。它的主要目标是让开 ......
学习ASP.NET Core Blazor编程系列二十八——JWT登录(2)
JWT只是缩写,全称则是JSON Web Tokens,是目前流行的跨域认证解决方案,是基于开放标准RFC7519,提供一种身份认证与信息交换的解决方案,是一种基于JSON的用于在网络上声明某种主张的令牌(token)。
通俗地说,JWT的本质就是一个字符串,它是将用户信息保存到一个Js... ......
学习ASP.NET Core Blazor编程系列二十九——JWT登录(3)
JWT只是缩写,全称则是JSON Web Tokens,是目前流行的跨域认证解决方案,是基于开放标准RFC7519,提供一种身份认证与信息交换的解决方案,是一种基于JSON的用于在网络上声明某种主张的令牌(token)。今天的文章使用API接口来实现使用JWT登录功能。 ......
轮播图接口加缓存和定时更新(双写一致性问题以及其解决方案)
一、轮播图加缓存 有些知名网站首页被访问的频率很高,假设瞬间 1w个人在访问,首页的轮播图接口会执行1w次,1w次查询轮播图标的sql在执行,轮播图基本不变,首先我们给自己写的轮播图接口加缓存,我们可以用缓存数据库Redis来实现加缓存的需求 首先罗列一下文字版的逻辑,之后在代码上实现 当轮播图接口 ......
Redis的介绍安装以及启动与使用、数据类型、Redis管道、Django使用Redis
一、介绍Redis 1. 详细介绍 redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push ......
如何让 WinDebug Preview 加载 Dotnet Core 的 SOS.dll 进行调试
一、前言 最近我在使用 WinDebug进行系统调试,也是在学习《Net高级调试》这本书。以前听过 WinDebug 调试器,但是没有使用过,由于最近想起来了,就好好的研究一下,学习一下。初次接触,还是走了不少弯路,踩了不少坑。关于 WinDebug 最新版的安装方法,可以在“微软商店”里面,直接查 ......
配运基础数据缓存瘦身实践
在基础数据的常规能力当中,数据的存取是最基础也是最重要的能力,为了整体提高数据的读取能力,缓存技术在基础数据的场景中得到了广泛的使用,下面会重点展示一下配运组近期针对数据缓存做的瘦身实践。 ......
redis分布式锁的实现
一.正常加锁 当两个用户同时注册一个用户名时,为保证用户名不能重复,因此对其注册的用户名加锁。 具体步骤: 获得用户注册的用户名,进行判断,如果为空则对其进行加锁,保存到数据库,释放锁资源。 二.线程出现阻塞 当A线程加锁后出现阻塞时,导致数据还没有存到数据库,锁的时间便会失效。 B线程便会执行,对 ......