后端
第一章 理解高性能程序 (9) 保持缓存的热度
保持缓存的热度
首先,别浪费缓存,因为主存很慢。这意味着无序地从内存中读取数据(被称为指针追逐pointer-chasing)并非明智。在现代处理器上,程序以预测的方式读取连续的内存块,可以受益于硬件级的预读取(prefetching)机制。一言以蔽之,即数据局部化(data locality)。
举个反面例子,唉,是我们古老而可靠的链表,遍历链表是一次实实在在的指
数组的基本概念和基本用法
一.数组基本概念
1.1 什么是数组
数组是用来存储多个连续数据类型相同的数据
1.2 什么是数组元素
数组中的每个数据就是数组元素
1.3 什么是数组长度
数组的元素个数就是数组长度
数组的长度在为数组元素分配空间时就已经确定了大小
二.使用数组
2.1 使用数组分4步:
1. 定义数组
2. 为数组元素分配内存
3. 数组元素初始化
【Spring】@RequestMapping、@RestController和Postman
文章目录
1.@RequestMapping 注解介绍
2. @RequestMapping 使用
3. @RequestMapping 是 GET 还是 POST 请求?
GET 请求
POST 请求
指定 GET/POST 方法类型
2. Postman 介绍
1. 创建请求
2. 传参介绍
1. 普通传参
2. form
Lottie动画文件压缩
前言
项目中引入了“大量的”lottile动画文件以优化动画显示效果,稍微统计了下,共20多个,小的几十k,大的1.33M,总大小超过8M,apk包体积急速膨胀。
使用的lottie文件统计.png
解决方案
由于项目中显示动画的需要,引入了大量的Lottie动图,以优化显示效果导致包体积急速膨胀,目前可以想到的解决方案主要有如下2种:
方案1)远端方案
将lottie json文件放
Redis大key 问题分析解决
背景
双十一大促期间, 收到客服反馈通知,说 APP 领券接口缓慢。找到一个case,通过调用链路发现,是操作redis 缓慢,并且还搜到一些redis 异常。
最后定位到原因:是发券场景下拿redis 做了一个缓存券批次的操作,记录用户当天领取的所有券批次
发券场景: key = userId, value = 券批次ID 列表, 而redis 查询发现多了许多大key,体现在 一个用户领取的几
【LangGraph】langgraph.checkpoint.postgres.PostgresSaver 类:将状态图的检查点保存到 PostgreSQL 数据库
langgraph.checkpoint.postgres.PostgresSaver 是 LangGraph 库中 langgraph.checkpoint.postgres 模块的一个检查点保存器类,继承自 BaseCheckpointSaver,专门用于将状态图的检查点保存到 PostgreSQL 数据库中。LangGraph 是 LangChain 生态的扩展框
