前言缓存的基本策略是拿空间换时间.意思就是我们将数据存储起来,牺牲空间,在下次使用的时候直接拿存储的,减少请求时间.浏览器缓存机制有四个方面,它们按照获取资源时请求的优先级依次排列如下:memory cache>service worker cache>http cache>push cache为了防止篇幅过长,影响阅读体验,我对每一种缓存都会单独写一篇文章,本文主要是讲我们最常            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-25 06:57:38
                            
                                35阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            文章目录介绍缓存的添加策略手动加载自动加载手动异步加载自动异步加载缓存的驱逐策略基于容量基于时间基于引用 介绍当服务的访问量过大、并发量过高时,为了减轻数据库的压力,可以考虑使用缓存。缓存分为两种,一种是本地缓存,比如Caffeine、Ehache,另外一种是分布式缓存,最常用的就是redis。本地缓存的数据可存在于主存当中,所以速度略快于分布式缓存。 Caffeine是一款基于java8开发的            
                
         
            
            
            
            # Android Fresco 缓存的实现指南
在Android开发中,Fresco是一个强大的图片加载库,它不仅可以高效地加载和显示图片,还自带缓存机制,能够提升用户体验。对于刚入行的小白来说,了解整个流程和实现步骤是非常重要的。本文将详细讲解如何在Android项目中实现Fresco缓存,并提供相应的代码示例。
## 整体流程
我们可以将实现Fresco图片缓存的过程分为几个主要步骤,            
                
         
            
            
            
            一、缓存处理流程 前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果。 二、缓存穿透描述:
   缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为id为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导致数据库压力过大。
  解决方案:接口层增加校验,如用户鉴权            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-18 11:06:05
                            
                                66阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            在 Android 应用开发中,图片加载和处理是常见且重要的功能。频繁的图片加载不仅会消耗大量的网络流量,还会影响应用的性能            
                
         
            
            
            
            DraweeView 是 Fresco 的“门面”,负责显示由 DraweeHierarchy 提供的数据(Placeholder、Actual Image、Progress Drawable etc),DraweeController 作为幕后,负责获取数据,关于三者的关系,上一篇博文 - Fresco源码解析 - Hierarchy / View / Controller 已经做了初步            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-01-04 14:02:32
                            
                                84阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            // To get image using FrescoImageRequest imageRequest = ImageRequestBuilder        .newBuilderWithSource(Uri.parse(ImgUrl))        .setProgressiveRenderingEnabled(true)        .build();ImagePip            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-03-08 13:44:09
                            
                                447阅读
                            
                                                                             
                 
                
                             
         
            
            
            
                           最近都在研究android4.0的gallery,深感复杂,写下文档,先贴着一部分先。欢迎大家看后交流,乐意接受批评指正。1.1.1 进入gallery进行如下关键操作。l        先进入gallery’            
                
         
            
            
            
            最近在接触DDD+micro service来开发项目,因为EF Core太适合DDD模式需要的ORM设计,所以这篇博客是从代码角度去理解EF core的内部实现,希望大家能从其中学到一些心得体会去更好的写出高质量的代码。 从github 上去下载ef core仓库, 本篇代码的版本是基于tag v5.0.3的,如果大家在以后看见这篇博客,可以在分支上reset 到这个tag对照这边博客            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-14 15:23:38
                            
                                162阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            紧接着我的上一篇博客,可以点击这里回到上一篇博客,上回分析到ef 两个重要的对象,StateManager和ChangeTracker这个对象,当我们向DbContext添加对象的时候我们会调用如下代码。1         private EntityEntry<TEntity> SetEntityState<TEntity>(
 2             TEntity            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-06 12:17:44
                            
                                82阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            第一次写专栏,如有表述不好或者理解错误的地方,请各位读者不吝赐教,本人一定虚心接受并第一时间改正。作为专题第一篇,先从最简单的开始,顺便找找感觉。Fresco 是 facebook 在今年的 F8 大会上宣布开源的一个用于加载图片的库,它不仅支持多种图片文件格式,而且由于使用了pinned purgeables 技术,使得大图加载过程中产生OOM的概率大大降低,对开发者来说绝对是            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-01-04 14:02:21
                            
                                155阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
                介绍:FastDFS:开源的高性能分布式文件系统;主要功能包括:文件存储,文件同步和文件访问,以及高容量和负载平衡FastDFS:角色:跟踪服务器(Tracker Server)、存储服务器(Storage Server)和客户端(Client)Tracker Server: 跟踪服务器,主要做调度工作,起到均衡的作用;负责管理所有的storage             
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-29 16:49:30
                            
                                87阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            4.1.5.2 模型层DraweeHierachy继承体系以及各个类的作用DraweeHierachy (I)
--| SettableDraweeHierarchy (I)
------| GenericDraweeHierarchyDraweeHierachy:用于获取顶层的drawable
SettableDraweeHierachy:图像可以被重置图像可以设置进度设置失败设置重试设置c            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-18 21:33:42
                            
                                38阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Fresco 是一个典型的 MVC 模型,只不过把 Model 叫做 DraweeHierarchy。M : DraweeHierarchyV : DraweeViewC : DraweeControllerDraweeHierarchy 是一个有层次结构的 Model。DraweeView 用来显示位于 DraweeHierarchy 最顶层的图像(top            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-01-04 14:02:14
                            
                                106阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1.概念介绍Fresco是Facebook开源Android平台上一个强大的图片加载库,也是迄今为止Android平台上最强大的图片加载库。优点:相对于其他开源的第三方图片加载库,Fresco拥有更好的内存管理和强大的功能,基本上能满足所有的日常使用场景。缺点:整体比较大,不过目前的版本已做了拆分,你只需要导入你使用到的功能相关的库。从代码层面来说侵入性太强,体现在要使用它需要用Fresco的组件            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-25 20:38:06
                            
                                73阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            前面在卓新科技有限公司实习的时候,在自己的爱吖头条APP中,在图片异步加载的时候和ListView的滑动中,总会出现卡顿,这是因为图片的缓存做的不是足够到位,在项目监理的帮助下,有使用Xutils框架下的图片加载,也有使用ImageLoader来实现,在今天在威哥的微信公众号了gank到了一个当前最强大的图片加载框架——Fresco。Fresco是Facebook发布的一款开源框架,号称是目前最强            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-15 11:14:15
                            
                                42阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Fresco源码解析 - DataSource怎样存储数据 datasource是一个独立的 package,与FB导入的guava包都在同一个工程内 - fbcore。datasource的类关系比较简单,一张类图基本就可以描述清楚它们间的关系。DataSource 是一个 interface, 功能与JDK中的Future类似,但是相比于Future            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-04-20 15:35:13
                            
                                114阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            datasource Futures            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-01-04 14:04:59
                            
                                126阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Fresco源码解析 - DataSource怎样存储数据 datasource是一个独立的 packa 比于Future            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-08-15 09:47:38
                            
                                124阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Fresco源码解析 - DataSource怎样存储数据 datasource是一个独立的 package,与FB导入的guava包都在同一个工程内 - fbcore。datasource的类关系比较简单,一张类图基本就可以描述清楚它们间的关系。DataSource 是一个 interface, 功能与JDK中的Future类似,但是相比于Future            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-04-20 15:27:50
                            
                                185阅读
                            
                                                                             
                 
                
                                
                    