基于Redis SETNX实现互斥锁

上周六遇到一个重复订单的问题: 用户支付成功后,订单列表里产生了两条订单号相同的记录,经过分析后确认是由于用户在等待支付结果页刷新页面,导致接口请求了两次(等待支付结果页面做了Loading效果,一般来说用户不会刷新,但是最近是销售旺季,支付网关的响应速度有所变慢,可能用户等待时 …

评论系统生成缩略图的思考

评论系统需要对接多个网站,每个网站对评论里的图片的尺寸有不同的要求,并且为了在 amp 应用里可以正常显示,需要额外返回图片的宽度和高度 现在需要解决两个问题: 1. 之前的接口数据里没有图片的宽度和高度属性 2. 每个网站对图片尺寸有不同要求 对于第一个问题: 之前保存图片信息 …

配置 MySQL 主从复制

MySQL的复制功能,是构建基于MySQL的大规模、高性能应用的基础,通过为服务器配置一个或多个备库的方式来进行数据同步。复制功能不仅有利于构建高性能的应用,同时也是高可用性、可扩展性、灾难恢复、备份、以及数据仓库等工作的基础。本文记录搭建一个最基本的MySQL一主一从架构的详细步骤。

Redis学习笔记 – 数据持久化

Redis 是内存数据库,它将数据储存在内存中,如果不讲数据保存到磁盘里,那么一旦进程退出,服务器里的数据就会丢失。为了解决这个问题,Redis 提供了两种数据持久化功能: RDB 持久化 和 AOF 持久化

Redis学习笔记 – 过期键删除策略

Redis 数据库中的所有键的过期时间,都保存在redisDb结构中的 expires 字典中, 我们称该字典为过期字典 过期字典的键:键是一个指针。指向键空间中的某个键对象 过期字典的值:值是一个 long long 类型的整数, 保存键指向的数据库键的过期时间 三种过期键删除 …

基于消息队列,优化 Magento 定时任务前后 CPU 对比

于 4月15日上线了优化版本的 EDM 代码,通过以上两图,可以看出在4月15日,服务器CPU负载有显著下降。 由于M2定时任务系统代码的缺陷,如果定时任务数量超过5000条(取决于服务器配置),会导致大量任务得不到执行(Missed),而状态为 missed 的任务并不会被清理 …