哔哩哔哩java日常实习
bilibili(主要在深挖项目)(好吧也不深,是我太菜了)
- 项目里面的主从复制怎么实现的
(当时没有组织好语言,没有逻辑,磕磕绊绊的感觉)
(三台Linux虚拟机 ,一个master两个slave节点)
- 数据改变在master节点,读slave节点
- 做一下master和slave的相关配置
- 做一下读写分离
- 实现方式是ShardingSphere
- 项目里面用到的redis里面数据结构
- (String用的最为广泛)
- 验证码用到了(String)将用户id存到Redis里面并设置过期时间
- 缓存套餐等数据用到了(Hash/String也可以)
- 排名(sorted set)
- 删除策略
- 定时删除(隔一段时间删除)
- 惰性删除(key过期时不处理,直到访问改key时才处理)
- 定期删除(两者的结合体)
- 手写LRU
- Redis各种数据结构分别适合什么
String:验证码、订单号、分布式session
Hash:购物车
List:实现消息队列(不常见)
Set:抽奖活动、点赞
Zset:排行榜、热搜
- 超买超卖问题(项目并不是秒杀呀)
- 库存问题