fastapi redis缓存 使用方法

学习.NET MAUI Blazor(三)、创建.NET MAUI Blazor应用并使用AntDesignBlazor

大致了解了Blazor和MAUI之后,尝试创建一个.NET MAUI Blazor应用。需要注意的是:虽然都叫MAUI,但.NET MAUI与.NET MAUI Blazor并不相同,MAUI还是以xaml为主,而MAUI Blazor则是以razor为主。 ......
Blazor MAUI AntDesignBlazor NET

【进阶篇】Redis实战之Jedis使用技巧详解

一、摘要 在上一篇文章中,我们详细的介绍了 redis 的安装和常见的操作命令,以及可视化工具的介绍。 刚知道服务端的操作知识,还是远远不够的,如果想要真正在项目中得到应用,我们还需要一个 redis 的客户端,然后将其集成到项目中,让程序自动根据我们的业务需要自动处理。 基于 redis 开放的通 ......
使用技巧 实战 技巧 Redis Jedis

使用 Bitnami Helm 安装 Kafka

服务器端 K3S 上部署 Kafka Server Kafka 安装 📚️ Quote: charts/bitnami/kafka at master · bitnami/charts (github.com) 输入如下命令添加 Helm 仓库: > helm repo add tkemarket ......
Bitnami Kafka Helm

如何使用 Blackbox Exporter 监控 URL?

前言 监控域名和 URL 是可观察性的一个重要方面,主要用于诊断可用性问题。接下来会详细介绍如何使用 Blackbox Exporter 和 Prometheus 在 Kubernetes 中实现 URL 监控。 Blackbox Exporter 简介 Blackbox Exporter 是 Pr ......
Blackbox Exporter URL

使用Jiralert实现AlertManager告警对接Jira

简介 Alertmanager 处理由客户端应用程序(如 Prometheus server)发送的警报。它负责去重(deduplicating),分组(grouping),并将它们路由(routing)到正确的接收器(receiver)集成,如电子邮件,微信,或钉钉。它还负责处理警报的静默/屏蔽( ......
AlertManager Jiralert Jira

使用 Helm 安装 MQTT 服务器-EMQX

EMQX ℹ️ Info: 使用 EMQX 通过 Helm3 在 Kubernetes 上部署 EMQX 4.0 集群 | EMQ emqx/deploy/charts/emqx at main-v4.4 · emqx/emqx (github.com) emqx/values.yaml at ma ......
服务器 Helm EMQX MQTT

使用Prometheus监控docker compose方式部署的ES

需求 收集 ES 的指标, 并进行展示和告警; 现状 ES 通过 docker compose 安装 所在环境的 K8S 集群有 Prometheus 和 AlertManager 及 Grafana 方案 复用现有的监控体系, 通过: Prometheus 监控 ES. 具体实现为: 采集端 el ......
Prometheus compose 方式 docker

Redis数据结构与对象

参考《Redis设计与实现》 系列文章目录和关于我 一丶简单动态字符串 当redis需要的不仅仅是一个字符串字面量,而是一个可以被修改的字符串值时,就会使用SDS(simple dynamic string)来表示字符串值。比如set msg "hello world"将创建一个新键值对,键值对的键 ......
数据结构 对象 结构 数据 Redis

Redis网络模型究竟有多强

高效的网络模型是Redis实现高吞吐量的重要底层支撑,是“高性能”的重要原因,却不是“快”的直接理由。本文将从BIO开始介绍,经过NIO、多路复用,最终说回Redis的Reactor模型,力求详尽。 ......
模型 Redis 网络

模板方法实践

前言 最近在设计一个对某个中间件的测试方案,这个测试方案需要包含不同的测试逻辑,但相同的是需要对各个环节进行记录;比如统计耗时、调用通知 API 等相同的逻辑。 如果每个测试都单独写这些逻辑那无疑是做了许多重复工作了。 基于以上的特征很容易能想到模板方法这个设计模式。 这是一种有上层定义框架,下层提 ......
模板 方法

transforms模块—PyTorch图像处理与数据增强方法

计算机视觉任务中,对图像的变换(Image Transform)往往是必不可少的操作,例如在迁移学习中,需要对图像尺寸进行变换以使用预训练网络的输入层,又如对数据进行增强以丰富训练数据。 作为深度学习领域的主流框架,pytorch中提供了丰富的图像变换API。本文将对pytorch中torchvi... ......

为什么更推荐使用组合而非继承关系?

前言 最近在看公司项目的代码,看到了大量的继承体系,而且还是继承了多层,维护、阅读都十分的困难。在查阅了一些资料以后,包括《Effective Java》一书中的第16条提到“组合优先于继承”。那继承到底会暴露什么问题呢?为什么更推荐优先使用组合呢? 欢迎关注微信公众号「JAVA旭阳」交流和学习 继 ......

正确理解和使用JAVA中的字符串常量池

前言 研究表明,Java堆中对象占据最大比重的就是字符串对象,所以弄清楚字符串知识很重要,本文主要重点聊聊字符串常量池。Java中的字符串常量池是Java堆中的一块特殊存储区域,用于存储字符串。它的实现是为了提高字符串操作的性能并节省内存。它也被称为String Intern Pool或String ......
常量 字符串 字符 JAVA

Ventoy制作启动盘和使用VMware测试启动盘(论文版)

Ventoy是可用于制作启动U盘的开源工具,在占用少量引导分区容量后,其他空间依旧可以正常当一般的U盘读写文件。它的最大特点是只要将iso、win、img、efi等之类的镜像文件和引导文件移动到U盘中。比如导出微PE、杏雨梨云的可启动iso镜像文件,移动到U盘中,在启动时选择微PE、杏雨梨云任意一个... ......
Ventoy VMware 论文

关于 MySQL 嵌套子查询中,无法关联主表字段问题的折中解决方法

今天在工作中写项目的时候,遇到了一个让我感到几乎无解的问题,在转换了思路后,想出了一个折中的解决方案,记录如下。 其实,问题的场景,非常简单: 就是需要查询出上图的数据,红框是从 项目产品表 中查询的2个字段,绿框是从与项目产品表关联的 文章表 中查询出的1个字段。我希望实现的效果是,获取到项目产品 ......
套子 字段 方法 问题 MySQL

一种将C++函数模板定义和声明分开的方法

在 C++ 中为了操作简洁引入了函数模板。所谓的函数模板实际上是建立一个通用函数,其函数类型或形参类型不具体指定,用一个虚拟的类型来表达,这个通用函数就称为函数模板。 1、通用的写法 函数模板不是一个具体的函数,编译器不能为其生成可执行代码。定义函数模板后只是一个对函数功能框架的描述,当它具体执行时 ......
函数 模板 方法

.Net 6 使用 Consul 实现服务注册与发现 看这篇就够了

前言 在这几年的工作中,也经历过几个微服务项目,大多数都上了k8s,基本上都看不到Consul的身影,所以在工作之余折腾了下Consul,作为个人来讲还是得学习下,所以也就顺便通过文章来记录下学习过程。还有就是现在基本上只要提到微服务,其中涉及到的知识点就会很繁多,遇到的问题也会很多,建议阅读本文前 ......
Consul Net

.NET性能优化-使用RecyclableMemoryStream替代MemoryStream

提到MemoryStream大家可能都不陌生,在编写代码中或多或少有使用过;比如Json序列化反序列化、导出PDF/Excel/Word、进行图片或者文字处理等场景。但是如果使用它高频、大数据量处理这些数据,就存在一些性能陷阱。 今天给大家带来的这个优化技巧其实就是池化MemoryStream的版本 ......

BST查找结构与折半查找方法的实现与实验比较

简介 作业:查找结构与排序方法 作业题目: BST 查找结构与折半查找方法的实现与实验比较 要求编写程序实现 BST 存储结构的建立(插入)、删除、查找和排序算法; 实现折半查找算法;比较 BST 查找与折半查找方法的时间性能。 作业要求: 1. 设计 BST 的左右链存储结构,并实现 BST 插入 ......
结构 方法 BST

MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(2)-Swagger框架集成

Swagger是什么? Swagger是一个规范且完整API文档管理框架,可以用于生成、描述和调用可视化的RESTful风格的 Web 服务。Swagger 的目标是对 REST API 定义一个标准且和语言无关的接口,可以让人和计算机拥有无须访问源码、文档或网络流量监测就可以发现和理解服务的能力。 ......
MongoDB 实战 框架 ToDoList Swagger

MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(1)-后端项目框架搭建

前言: 前面的四个章节我们主要讲解了MongoDB的相关基础知识,接下来我们就开始进入使用.NET7操作MongoDB开发一个ToDoList系统实战教程。本章节主要介绍的是如何快熟搭建一个简单明了的后端项目框架。 MongoDB从入门到实战的相关教程 MongoDB从入门到实战之MongoDB简介 ......
MongoDB 实战 框架 ToDoList 项目

如何使用Java获取货币符号?

1. 前言 最近做了一个支付相关的需求,要求在收银台页面显示商品的价格时带上货币符号¥,类似下图中的格式: 最初我是用的下面这样的代码: System.out.println(Currency.getInstance(Locale.CHINA).getSymbol()); 本机测试,正常返回¥,如下 ......
货币 符号 Java

架构与思维:再聊缓存击穿,面试是一场博弈

1 介绍 在之前的一篇文章《一次缓存雪崩的灾难复盘》中,我们比较清晰的描述了缓存雪崩、穿透、击穿的各自特征和解决方案,想详细了解的可以移步。 最近在配合HR筛选候选人,作为大厂的业务方向负责人,招人主要也是我们自己团队在用,而缓存是必不可少的面试选项之一。下面我们就来聊一聊在特定业务场景下缓存击穿和 ......
缓存 架构 思维

【Redis场景1】用户登录注册

【Redis场景实践1】用户登录注册实现,每1~2周学习整理redis中的知识点和场景实现,希望有所输入输出,每天进步一点点。 ......
场景 用户 Redis

使用pycharm or vscode来编写python代码?

pycharm社区版可用于商业项目 pycharm社区版可用于商业项目,来源于官方的回答:Can I use Community Editions of JetBrains IDEs for developing commercial proprietary software? – Licensin ......
pycharm 代码 vscode python or

Javascript | 分别用async await异步方法和Promise来实现一个简易的求职程序

关注公众号,一起交流,微信搜一搜: LiOnTalKING JavaScript Promise Promise 是一个 ECMAScript 6 提供的类,目的是更加优雅地书写复杂的异步任务。 如何创建一个 Promise 对象? new Promise(function (resolve, re ......
Javascript 简易 Promise 程序 方法

对于async和await的使用方式、作用效果不怎么理解 ?没关系,初步看这篇就够了

结论 同步还是异步,区别如下: 同步:你使用 await 修饰符去调用一个异步(async)方法(是异步方法,不过是阻塞式的,可简单理解为同步); 异步:你获取异步方法返回的 Task,就是异步(后文有代码示例); 可以实现多任务执行顺序执行且不阻塞。 概述 async(C# 参考) async 是 ......
不怎么 作用 效果 方式 async

Redis的数据被删除,占用内存咋还那么大?

通过 CONFIG SET maxmemory 100mb 或者在 redis.conf 配置文件设置 maxmemory 100mb Redis 内存占用限制。当达到内存最大值值,会触发内存淘汰策略删除数据。 除此之外,当 key 达到过期时间,Redis 会有以下两种删除过期数据的策略: 后台定 ......
内存 数据 Redis

使用浏览器inspect调试app

使用浏览器inspect调试app 在开发混合项目的过程中,常常需要在app环境排查问题,接口可以使用fiddler等工具来抓包,但是js错误就不好抓包了,这里介绍一种调试工具-浏览器。 1.调试过程 先看实现步骤 首先电脑打开edge浏览器,地址栏中输入edge://inspect/#device ......
浏览器 inspect app

使用.NET开发搭建OpenAI模型的中间服务端

前言:前不久微信上大家玩ChatGPT聊天机器人玩的不亦乐乎;不过随着ChatGPT被封杀,所以用微信聊天机器人有可能导致封号的风险。那如果自己不想每次都去OpenAI官网上进行对话【PS:官网上面聊天对话有局限性,例如回复的内容比较长,AI回答是一个一个字写的,就可能导致超过一定时间以后,变成请求 ......
模型 OpenAI NET