首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
要看的
订阅
自我认识驱动
更多收藏集
微信扫码分享
微信
新浪微博
QQ
36篇文章 · 0订阅
5中方案告诉你,并发环境下,先操作数据库还是先操作缓存?
如果是一读(线程B)一写(线程A)操作,「先操作缓存,再操作数据库」。流程图如下所示: 3.线程B发起一个读操作,cache miss缓存失效了。 5.线程B执行set cache,把从DB读到的数据,更新到缓存。 「这样看,没啥问题」。我们再看第二个流程图,如下: OK,酱紫…
并发环境下,先操作数据库还是先操作缓存?
在分布式系统中,缓存和数据库同时存在时,如果有写操作的时候,先操作数据库还是先操作缓存呢?先思考一下,可能会存在哪些问题,再往下看。下面我分几种方案阐述。 假设有一写(线程A)一读(线程B)操作,先操作缓存,在操作数据库。,如下流程图所示: 这样看,没啥问题。我们再看第二个流程…
你还在代码里做读写分离么,试试这个中间件吧!
传统的MySql读写分离方案是通过在代码中根据SQL语句的类型动态切换数据源来实现的,那么有没有什么中间件可以自动实现读写分离呢?小米开源的数据库中间件Gaea就可以实现,接下来我们将详细讲解如何使用Gaea来实现MySql的读写分离。 Gaea是小米中国区电商研发部研发的基于…
如何设计一个高可用系统?要考虑哪些地方?
一篇短小的文章,面试经常遇到的这个问题。本文主要包括下面这些内容:高可用的定义哪些情况可能会导致系统不可用?有些提高系统可用性的方法?只是简单的提一嘴,更具体内容在后续的文章中介绍,就拿限流来说,你需
五年Java经验,面试还是说不出日志该怎么写更好?——日志规范与最佳实践篇
调试日志 用于开发人员开发或者线上回溯问题。 诊断日志 一般用于运维人员监控系统与安全人员分析预警。 埋点日志 一般用于运营决策分析,也有用作微服务调用链路追踪的(运维、调试)。 审计日志 与诊断日志类似,诊断日志偏向运维,审计日志偏向安全。 一般调试日志由开发者自定义输出,其…
MySQL的万字总结(缓存,索引,Explain,事务,redo日志等)
hello,小伙伴们,好久不见,MySQL系列停更了差不多两个月了,也有小伙伴问我为啥不更了呢?其实我去看了MySQL的全集,准备憋个大招,更新篇长文(我不会告诉你是因为我懒的)。 好了,话不多说,直接开始吧。这篇文章将从查询缓存,索引,优化器,explain,redo日志,u…
springboot+mybatis实现数据库的读写分离
随着业务的发展,除了拆分业务模块外,数据库的读写分离也是常见的优化手段。 首先,我们需要两个数据库实例,一为master,一为slave。
浏览 GitHub 太卡了?教你两招!
老实说,GitHub 在国内的使用体验并不算太好,这其中最大的原因就是网络了。 GitHub 访问起来比较卡,这个看起来貌似无解。国内的 gitee 网速倒是可以,但是无法代替 GitHub,个人感觉 gitee 上还是开源项目多一些,工具类库要少一些。 在网络比较卡的情况下,…
从零开始开发IM(即时通讯)服务端
可以说几乎所有高实时性的应用场景都需要用到IM技术。 支持用户登录,好友关系等基本功能。 向Alice发送一个sent(hello)表示消息已经被发送到服务器。 2. 3. Bob阅读消息后,客户端向服务器发送read(hello)表示消息已读 这个消息会像一个普通聊天消息一…
源码角度分析-newFixedThreadPool线程池导致的内存飙升问题
使用无界队列的线程池会导致内存飙升吗?面试官经常会问这个问题,本文将基于源码,去分析newFixedThreadPool线程池导致的内存飙升问题,希望能加深大家的理解。 JVM OOM问题一般是创建太多对象,同时GC 垃圾来不及回收导致的,那么什么原因导致线程池的OOM呢?带着…