关注
续上一条
Redis刷新token保证用户无感:
1. 使用access_token和refresh_token
2. 在access_token即将过期前自动刷新
3. 用户活跃时延长token有效期
4. 客户端在后台异步刷新token
5. token过期后短时间内仍可使用,同时刷新
点赞排行实现及数据持久化:
1. 使用ZSET存储,score为点赞数
2. 定期将热门数据持久化到MySQL
3. 热数据保存在Redis,冷数据存入MySQL
4. 设置定时任务每天/周从MySQL加载基础数据到Redis
5. 只更新有变化的数据,而非全量刷新
乐观锁实现:
1. 表中增加version字段,更新时检查版本
2. 条件更新 UPDATE table SET data=?, version=version+1 WHERE id=? AND version=?
SQL优化问题
多表连接优化:
1. 减少连接表数量
2. 索引优化
3. 小表驱动大表
4. 尽量使用内连接而非外连接
5. 将过滤条件尽量下推到基表
6. 避免笛卡尔积
多表连接分页查询优化:
1. 先获取分页ID,再关联查询详细数据
2. 先对主表分页,再与其他表连接
3. 尽量使用索引覆盖避免回表
4. 将WHERE条件提前执行
5. 使用临时表存储中间结果
多表连接索引创建及联合索引作用:
1. 在所有JOIN条件字段上创建索引
2. WHERE条件字段创建索引
3. ORDER BY字段创建索引
4. 联合索引作用最左前缀匹配 索引覆盖 减少回表次数 提高连接效率
SQL执行顺序: FROM > JOIN > WHERE > GROUP BY > HAVING > SELECT > DISTINCT > ORDER BY > LIMIT
MySQL提高扫描效率的方法:
1. B+树索引减少磁盘IO次数
2. 根据成本选择最优执行计划
3. InnoDB buffer pool缓存热数据
4. 提前读取可能需要的数据页
查看原帖
12 3
相关推荐
2025-12-28 16:32
重庆邮电大学 Java
程序员花海:1.技能放最后,来面试默认你都会,技能没啥用
2.实习写的看起来没啥含金量,多读读部门文档,包装下 接LLM这个没含金量 也不要用重构这种 不会给实习生做的
3.抽奖这个还是Demo项目,实际在公司里面要考虑策略,满减,触发点,触发规则 库存 之类的,不是这个项目这么简单
4.教育背景提前,格式为 教育背景 实习 项目 技能 自我评价 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 在大厂上班是一种什么样的体验 #
12318次浏览 165人参与
# 你的mentor是什么样的人? #
51143次浏览 721人参与
# 程序员找工作至少要刷多少题? #
21173次浏览 272人参与
# 我和mentor的爱恨情仇 #
106272次浏览 948人参与
# 论秋招对个人心气的改变 #
13372次浏览 188人参与
# 机械人避雷的岗位/公司 #
44114次浏览 309人参与
# 为了减少AI幻觉,你注入过哪些设定? #
6003次浏览 182人参与
# 秋招落幕,你是He or Be #
54230次浏览 618人参与
# 校招第一份工作你干了多久? #
136662次浏览 597人参与
# 高薪高压 vs 低薪wlb,你怎么选? #
47405次浏览 290人参与
# 设计人如何选offer #
189712次浏览 868人参与
# 考公VS就业,你怎么选? #
91985次浏览 507人参与
# 职场上哪些行为很加分? #
322550次浏览 3601人参与
# 你的秋招进行到哪一步了 #
2530878次浏览 23253人参与
# 牛客AI体验站 #
7727次浏览 210人参与
# 机械人还在等华为开奖吗? #
312129次浏览 1582人参与
# 秋招投递记录 #
380923次浏览 3204人参与
# 12306一秒售罄,你抢到回家的票了吗? #
2309次浏览 52人参与
# 我现在比当时_,你想录用我吗 #
9427次浏览 129人参与
# 重来一次,我还会选择这个专业吗 #
411271次浏览 3898人参与
智元机器人成长空间 260人发布
查看12道真题和解析