Commons VFS缓存如何工作?

mdzh

我正在尝试学习如何使用Apache Commons VFS2。

我已经阅读了所有可以找到的文档,并且对API已有一定的了解,但是还有一件事我不太清楚。

缓存机制如何工作?特别是:

  • 我没有理解缓存策略和FilesCache接口之间的区别。什么时候使用?

  • 在此处的文档中有这样的说法:http ://wiki.apache.org/commons/VfsCacheStrategy ...共有3种可能的缓存策略,每一种都将详细说明。我得到了“最简单的” on_call策略,但其他两个我没有。例如,如果我们选择MANUAL策略,则说“您必须使用fileObject.refresh()来使用文件系统刷新对象”。但是,这到底意味着什么?这是否意味着如果我将字节写入此FileObject的FileContents,则在关闭文件对象或调用refresh之前,它们实际上不会被写入?如果我有2个从相同URI解析的FileObjects,并且我删除了第一个的delete()怎么办?由于文件对象已被缓存,第二个的exist()方法是否仍会返回true?

当我尝试在计算机上本地使用不同的缓存策略时,实际上并没有发现任何差异。它们的行为都相同,并且文件始终与FS同步(或者至少它们并不同步)。

CacheStrategy根本上控制FileObject多个调用之间的元数据的重新同步FileObject决定何时刷新其对世界的看法。

它将在refresh()您每次解决它时调用,或者refresh()在每次FileObject方法调用之前(通过OnCallRefreshFileObject装饰器)调用,或者永远不会自动调用

refresh()大多数情况下FileObject,会将状态设置为“已分离”,因此当下一个操作与一起检查时,会重新读取状态attach()

它主要与诸如属性和子代之类的元数据有关,我认为没有任何文件系统提供程序实际缓存内容。

FilesCache是缓存的情况下,实际负责FileObject其间的resolveFile()呼叫。因此,如果碰巧解析或导航到同一文件,您还将获得相同的Java对象实例(除非您使用NullFilesCacheLRUFilesCache缓存使某些条目过期)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Apache Commons VFS中的Git协议

来自分类Dev

Apache Commons VFS未知方案文件

来自分类Dev

如何使用apache commons vfs从Windows到Linux读取远程文件?

来自分类Dev

ClassNotFoundException:org.apache.commons.vfs.provider.FileProvider

来自分类Dev

在内部 zipfile Commons VFS 中查找文件

来自分类Dev

如何从Apache Commons Collections创建新的MultiValueMap?

来自分类Dev

Commons Config-如何删除节点?

来自分类Dev

如何编写ArrayFieldVector <Complex>的子类(Apache Commons)

来自分类Dev

如何导入 jar apache commons cli

来自分类Dev

Commons.io错误,但可以正常工作吗?

来自分类Dev

SFTP上传下载使用Apache Commons VFS存在并移动

来自分类Dev

使用Java中的apache commons vfs2访问后删除zip文件

来自分类Dev

maven-shade-plugin 不包括 org/apache/commons/vfs2/impl/StandardFileSystemManager

来自分类Dev

使用Common VFS 2.0在org.apache.commons.vfs2.FileNotFolderException错误浏览文件夹时出错

来自分类Dev

apache commons I / O。如何通过通配符过滤文件?

来自分类Dev

如何使用log4j2 Commons Logging Bridge

来自分类Dev

如何在Apache Commons CharSet中包含插入符号^?

来自分类Dev

Apache Commons XMLConfiguration-如何通过属性名称获取对象?

来自分类Dev

如何使用Apache Commons解析xml中的配置文件?

来自分类Dev

如何通过API在Wikimedia Commons中搜索图像?

来自分类Dev

Apache Commons CLI:如何防止对选项使用短名称?

来自分类Dev

如何从项目中删除commons-beanutils-core

来自分类Dev

如何解决NoClassDefFoundError:Apache Commons Lang Android

来自分类Dev

我如何在Jenkins上使用commons-io 2.4?

来自分类Dev

如何使用Apache Commons BeanUtils设置日期类型值,

来自分类Dev

如何使用XML Apache Commons配置读取属性

来自分类Dev

如何使用 Apache Commons Compress 创建加密的 Zip 文件?

来自分类Dev

java项目中如何下载和使用Commons.Lang?

来自分类Dev

如何解决此“ sbt.ResolveException:未解决的依赖项:commons-logging#commons-logging; 1.1.1:”异常?

Related 相关文章

  1. 1

    Apache Commons VFS中的Git协议

  2. 2

    Apache Commons VFS未知方案文件

  3. 3

    如何使用apache commons vfs从Windows到Linux读取远程文件?

  4. 4

    ClassNotFoundException:org.apache.commons.vfs.provider.FileProvider

  5. 5

    在内部 zipfile Commons VFS 中查找文件

  6. 6

    如何从Apache Commons Collections创建新的MultiValueMap?

  7. 7

    Commons Config-如何删除节点?

  8. 8

    如何编写ArrayFieldVector <Complex>的子类(Apache Commons)

  9. 9

    如何导入 jar apache commons cli

  10. 10

    Commons.io错误,但可以正常工作吗?

  11. 11

    SFTP上传下载使用Apache Commons VFS存在并移动

  12. 12

    使用Java中的apache commons vfs2访问后删除zip文件

  13. 13

    maven-shade-plugin 不包括 org/apache/commons/vfs2/impl/StandardFileSystemManager

  14. 14

    使用Common VFS 2.0在org.apache.commons.vfs2.FileNotFolderException错误浏览文件夹时出错

  15. 15

    apache commons I / O。如何通过通配符过滤文件?

  16. 16

    如何使用log4j2 Commons Logging Bridge

  17. 17

    如何在Apache Commons CharSet中包含插入符号^?

  18. 18

    Apache Commons XMLConfiguration-如何通过属性名称获取对象?

  19. 19

    如何使用Apache Commons解析xml中的配置文件?

  20. 20

    如何通过API在Wikimedia Commons中搜索图像?

  21. 21

    Apache Commons CLI:如何防止对选项使用短名称?

  22. 22

    如何从项目中删除commons-beanutils-core

  23. 23

    如何解决NoClassDefFoundError:Apache Commons Lang Android

  24. 24

    我如何在Jenkins上使用commons-io 2.4?

  25. 25

    如何使用Apache Commons BeanUtils设置日期类型值,

  26. 26

    如何使用XML Apache Commons配置读取属性

  27. 27

    如何使用 Apache Commons Compress 创建加密的 Zip 文件?

  28. 28

    java项目中如何下载和使用Commons.Lang?

  29. 29

    如何解决此“ sbt.ResolveException:未解决的依赖项:commons-logging#commons-logging; 1.1.1:”异常?

热门标签

归档