一致性Hash算法Java版实现 每次将请求随机的发送到其中一组Redis集群中,这种算法的好处是请求会被均匀的分发到每组Redis集群上;缺点也很明显,由于随机分发请求,为了提高缓存的命中率,所以同一份数据需要在每组集群中都存在,这样就会造成了数据的冗余,浪费了存储空间

万字长文聊缓存(下)缓存的命中率是指从缓存中获取到数据的次数和总读取次数的比率,命中率越高证明缓存的效果越好。这是一个很重要的指标,应该通过监控这个指标来判断我们的缓存是否设置的合理。缓存的回收策略 在设置缓存的同时设置该缓存可以存活多久,不论在存活期内被访问了多少次,时间到了都会过期

万字长文聊缓存(上) 缓存的目的是为了提高系统的访问速度,让数据更加接近于使用者,通常也是提升性能的常用手段。缓存在生活中其实也是无处不在,比如物流系统,他们基本上在各地都有分仓库,如果本地仓库有数据CPU读取数据也采用了缓存,寄存器->高速缓存->内存->硬盘/网络

IDEA插件:多线程文件下载插件开发 大文件多线程下载工具类,自己平时的文件下载也在使用这个工具,下载速度确实提升不少,但是每次下载都要去打开项目运行代码,觉得实在不是很方便;考虑到每天我们都会使用到IDEA开发工具,所以就决定把这个下载工具做成IDEA的插件

深入解析SpringMVC核心原理:从手写简易版MVC框架开始(SmartMvc) SpringMVC采用了松散耦合可插拔组件结构,比其他MVC框架更具扩展性和灵活性;为了提高框架的扩展性和灵活性,设计了松耦合可插拔的组件。理解SpringMVC的原理,在面试或工作中都十分的重要

核心配置类WebMvcConfigurationSupport 能把大部分的配置都封装起来,把个别的扩展点暴露给框架的使用者,并且用户如果没有需求扩展,直接使用注解`@EnableWebMvc`就可以完成SmartMVC框架的配置工作,现在我们就开始来开发这个功能。