Latest Notes

把日常问题写成可复用的答案。

这里收集技术实践、排错记录、阅读札记和一些生活观察。每一篇都尽量留下清晰的上下文、判断和解决路径。

Today 持续记录,慢慢变好

技术笔记、项目复盘、阅读摘录和问题清单。

Python 982 阅读

Python JsonPath模块使用

### JsonPath JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写。同时也方便了机器进行解析和生成。适用于进行数据交互的场景,比如网站前台与后台之间的数据交互。 #### json示例数据 ```json { "sto

阅读全文
Python 1019 阅读

celery rabbitmq 延迟消息

*使用 RabbitMQ 延迟消息插件来调度celery任务。* **RabbitMQ 延迟消息插件:** RabbitMQ 延迟交换插件用于实现消息到达交易所和传递到队列之间的等待时间。每次发布消息时,都可以指定以毫秒为单位的偏移量。 我们可以声明类型为“x-delayed-message”的交换,然后使用自定

阅读全文
系统运维 886 阅读

java CPU占用过高问题的排查及解决

java cpu飙升居高不下,这种事情虽然很少。 但是这种故障一旦发生了,可能就很严重。 那么当我们某个Java项目占比很高了,怎么定位到代码? ### 1. top 使用top 定位到占用CPU高的进程PID ### 2. 通过ps aux | grep PID命令 获取线程信息,并找到占用CPU

阅读全文
Python 900 阅读

Python基于Redis实现分布式锁

分布式锁应该具备的条件: - 在分布式系统环境下,任意时刻,只能有一个客户端能持有锁; - 高可用/高性能的获取锁和释放锁,必须保证加锁和解锁是同一个客户端所为; - 具备锁失效机制(防止死锁),即使有一个客户端在持有锁期间崩溃而没有主动释放锁,也能保证后续其他客户端能正常加锁; - 具备非堵塞特性,即没有获取到锁,

阅读全文