Redis学习笔记--好友关注+附近商户和+用户签到+UV统计 好友关注关注和取消关注 当我们进入到笔记详情页面时,会发送一个请求,判断当前登录用户是否关注了笔记博主 请求网址: http://localhost:8080/api/follow/or/not/2请求方法: GET 当我们点击关注按钮时,会发送一个请求,实现关注/取关 请求网址: http://localhost:8080/api/follow/2/true请求方法: PUT 2023-03-15 Redis #项目
Redis学习笔记--消息队列和达人探店 Redis消息队列认识消息队列 什么是消息队列?字面意思就是存放消息的队列,最简单的消息队列模型包括3个角色 消息队列:存储和管理消息,也被称为消息代理(Message Broker) 生产者:发送消息到消息队列 消费者:从消息队列获取消息并处理消息 使用队列的好处在于解耦:举个例子,快递员(生产者)吧快递放到驿站/快递柜里去(Message Queue)去,我们(消费者)从快递柜& 2023-03-10 Redis #项目
Redis学习笔记--分布式锁和秒杀优化 分布式锁-Redisson 基于SETNX实现的分布式锁存在以下问题 重入问题 重入问题是指获取锁的线程,可以再次进入到相同的锁的代码块中,可重入锁的意义在于防止死锁,例如在HashTable这样的代码中,它的方法都是使用synchronized修饰的,加入它在一个方法内调用另一个方法,如果此时是不可重入的,那就死锁了。所以可重入锁的主要意义是防止死锁,我们的synchronized和Lock锁都 2023-03-05 Redis #项目
Redis学习笔记--优惠券秒杀和分布式锁 优惠券秒杀Redis实现全局唯一ID 在各类购物App中,都会遇到商家发放的优惠券 当用户抢购商品时,生成的订单会保存到tb_voucher_order表中,而订单表如果使用数据库自增ID就会存在一些问题 id规律性太明显 受单表数据量的限制 如果我们的订单id有太明显的规律,那么对于用户或者竞争对手,就很容易猜测出我们的一些敏感信息,例如商城一天之内能卖出多少单,这明显不合适 随着我们 2023-03-01 Redis #项目
Redis学习笔记--商户查询缓存 什么是缓存 什么是缓存? 缓存就像自行车、越野车的避震器 举个例子 越野车、山地自行车都有避震器,防止车体加速之后因惯性,在U型地形上飞跃硬着陆导致损坏,像个弹簧意义 同样,在实际开发中,系统也需要避震器,防止过高的数据量猛冲系统,导致其操作线程无法及时处理信息而瘫痪 在实际开发中,对企业来讲,产品口碑、用户评价都是致命的,所以企业非常重视缓存技术缓存(Cache)就是数据交换的缓冲 2023-02-25 Redis #项目
Redis学习笔记--短信登录 内容概述 短信登录 这部分会使用Redis共享session来实现 商户查询缓存 这部分要理解缓存击穿,缓存穿透,缓存雪崩等问题,对于这些概念的理解不仅仅是停留在概念上,更是能在代码中看到对应的内容 优惠卷秒杀 这部分我们可以学会Redis的计数器功能,结合Lua完成高性能的Redis操作,同时学会Redis分布式锁的原理,包括Redis的三种消息队列 附近的商户 利用Redi 2023-02-21 Redis #项目
Nxlogn排序算法篇 归并排序 归并排序就是先把左半边数组排好序,再把右半边数组排好序,然后把两半数组合并,相当于二叉树的后序遍历。模板如下12345678910111213141516171819202122232425262728293031323334353637383940414243class Merge { // 用于辅助合并有序数组 int[] temp; public sta 2023-01-17 基础算法 #算法
JVM中篇字节码与类的加载-class文件结构 .class文件用的是16进制数,两个数转成一个十进制数 Class字节码文件结构 Class文件数据类型 数据类型 定义 说明 无符号数 无符号数可以用来描述数字、索引引用、数量值或按照utf-8编码构成的字符串值。 其中无符号数属于基本的数据类型。 以u1、u2、u4、u8来分别代表1个字节、2个字节、4个字节和8个字节 表 表是由多个无符号数或其他表构成的复合数据结构。 2022-12-07 JVM中篇字节码与类的加载 #八股文
JVM下篇性能监控与调优-监控及诊断工具命令行篇 大厂面试题支付宝: 支付宝三面:JVM性能调优都做了什么? 小米: 有做过JVM内存优化吗? 从SQL、JVM、架构、数据库四个方面讲讲优化思路 蚂蚁金服: JVM的编译优化 jvm性能调优都做了什么 JVM诊断调优工具用过哪些? 二面:jvm怎样调优,堆内存、栈空间设置多少合适 三面:JVM相关的分析工具使用过的有哪些?具体的性能调优步骤如何 阿里: 如何进行JVM调 2022-12-06 JVM下篇性能监控与调优 #八股文
JUC并发编程-读写锁和邮戳锁 1. ReentrantReadWriteLock本章路线总纲无锁→独占锁→读写锁→邮戳锁 关于锁的大厂面试题你知道Java里面有哪些锁?你说你用过读写锁,锁饥饿问题是什么?有没有比读写锁更快的锁?StampedLock知道吗?(邮戳锁/票据锁)ReentrantReadWriteLock有锁降级机制,你知道吗? 1.1 读写锁ReentrantReadWriteLock读写锁:一个资源 2022-12-05 JUC并发编程 #八股文