首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/editorial-story/blog/3013596

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

你应该知道的缓存进化史

1.背景 本文是上周去技术沙龙听了一下爱奇艺的Java缓存之路有感写出来的。先简单介绍一下爱奇艺的java缓存道路的发展吧。 可以看见图中分为几个阶段: 第一阶段:数据同步加redis 通过消息队列进行数据同步至redis,然后Java应用直接去取缓存 这个阶段优点是:由于是使用的分布式缓存,所以数据更新快。缺点也比较明显:依赖Redis的稳定性,一旦redis挂了,整个缓存系统不可用,造成缓存雪崩,所有请求打到DB。 第二,三阶段:JavaMap到Guava cache 这个阶段使用进程内缓存作为一级缓存,redis作为二级。优点:不受外部系统影响,其他系统挂了,依然能使用。缺点:进程内缓存无法像分布式缓存那样做到实时更新。由于java内存有限,必定缓存得设置大小,然后有些缓存会被淘汰,就会有命中率的问题。 第四阶段: Guava Cache刷新 为了解决上面的问题,利用Guava Cache可以设置写后刷新时间,进行刷新。解决了一直不更新的问题,但是依然没有解决实时刷新。 第五阶段: 外部缓存异步刷新 这个阶段扩展了Guava Cache,利用redis作为消息队列通知机制,通知其...

Java IO使用的四种模式

对于Java IO,从大的种类上来分,可以分为BIO和NIO。BIO全称为Blocked IO,也即阻塞型IO,而NIO则是在jdk 1.4中引入的,一般称其为New IO,因为这是相对于1.4版本之前的阻塞型IO而言的,但是也有人称其为Non-blocked IO。相对而言,本人更喜欢第二种叫法,因为从字面上更符合其使用含义。本文则主要基于BIO和NIO讲解四种IO模式的基本使用方式,并且对这四种模式的优缺点进行对比。 1. 同步BIO模式 最基本的BIO使用方式就是同步SocketChannel的方式,我们这里以经典的EchoClient/EchoServer模式来对其进行讲解,如下是一个示例: public class EchoServer { @Test public void testServer() throws IOException { ServerSocketChannel server = ServerSocketChannel.open(); // 开启一个ServerSocketChannel server.bind(new InetSocketAddress(...

相关文章

发表评论

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。