关于一个技术问题实现的提问

上海猿猿 2013-09-04 09:59:09
我想做一个类似于360壁纸下载器的C/S结构的软件系统。
我发现在Client端都有每个壁纸的缩略图,我想这应该算是壁纸图片的缓存。
应该是和网页缓存的原理是一样的吧?

我的提问是:

Image1对应于CacheImage1
Image2对应于CacheImage2

当删除客户端缓存后,再次打开时,软件会再次下载缓存内容,这个我理解。

但是当删除服务器端的Image1后,或者覆盖一个也叫Image1另个图片后,
这时客户端的CacheImage1怎么办?


请各位指点一下。Tks
...全文
102 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tcmakebest 2013-09-04
  • 打赏
  • 举报
回复
缩略图因为小可以不需要使用缓存,每次都下载就好了。
  • 打赏
  • 举报
回复
我再明确点说,“但是当删除服务器端的Image1后,或者覆盖一个也叫Image1另个图片后, 这时客户端的CacheImage1怎么办”呢,其实客户端什么也不办,根本不关心服务器端是否删除或者覆盖。
  • 打赏
  • 举报
回复
引用 楼主 jiangsulane911 的回复:
当删除客户端缓存后,再次打开时,软件会再次下载缓存内容,这个我理解。
你这个猜想是非常正确的。能想到这一层,而不是说成“客户端不断轮询服务器”,这就是设计。只知道轮询,那就不是经过仔细考虑之后的设计,而仅仅是最初的概念。
  • 打赏
  • 举报
回复
服务器端删除图片,当客户端使用此图片时(假设已经显示这个图片了,然后同步并行第访问服务器),服务器就会返回“没有找到”异常。而此时客户端就可以忽略此异常。 类似地,如果服务器返回“没有新版本”信息(因为客户端访问服务器时会带上上一次下载图片时服务器告知给客户端的文件版本号,或者带上此文件在客户端缓存时的数据的md5散列值,服务器可以先去比对),此时客户端一样是可以忽略此异常。 只有说服务器返回了真实的图片内容,客户端才需要用下载的新文件覆盖本地旧文件,并且刷新客户端图片。
rtdb 2013-09-04
  • 打赏
  • 举报
回复
应该是检查服务器端变化, 若有变化,重新下载缩略图

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧