对于FE工程师而言,对静态资源的缓存和更新一直是一个比较棘手的问题,各大公司也推出了各自的解决方案,如百度的FIS工具集。如果没有解决好这个问题,不仅会给用户造成糟糕的用户体验,而且还会给开发和调试带了很多不必要的麻烦。关于如何自动实现缓存更新,以下是自己的一点心得和体会。
尘埃人生哲言:菩提本无树,明镜亦非台,本来无一物,何处惹尘埃 工作哲言:把每一行简单的代码写好就是不简单,把每一个平凡的逻辑规划好就是不平凡! |
对于FE工程师而言,对静态资源的缓存和更新一直是一个比较棘手的问题,各大公司也推出了各自的解决方案,如百度的FIS工具集。如果没有解决好这个问题,不仅会给用户造成糟糕的用户体验,而且还会给开发和调试带了很多不必要的麻烦。关于如何自动实现缓存更新,以下是自己的一点心得和体会。
CentOS 6.5安装部署SVN 1.8.13 PS:原来写了一篇Subversion 1.6的编译安装过程,随着更新,安装在发生很大变化,故重新写一篇Subversion 1.8.13稳定版的安装过程!
PS:Redis的客户端实际上担负了通过网络协议与Redis Server进行通信的过程,通信的过程必须遵循协议规范,让客户的调用更加符合特定语言的使用习惯。现有PHP客户端:rediska、phpredis、Predis、Redisent。这些客户端中,有纯PHP的实现方案,也有二进制版本的实现方案。这里我们选择二进制版本的phpreids。
Redis安装部署 PS:redis是一个性能非常优秀的内存数据库,通过key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hashs(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
PS:现有图库系统通过rsync将图片同步到存储上。用户上传图片后,不能做到实时访问(图片要经过网络传输后才能落地)。另外老的系统为每张用户图片存储多种规格,网页改版后还需要重新裁切新规格,造成存储的浪费。多种规格的小图片占用系统大量inode,甚至inode先于磁盘空间被耗尽,剩余空间不能使用。
PS:SVN trunk, branches and tags 据了解很多初学者在开发中将SVN作为版本管理时,可能没考虑到如何灵活的运用SVN来管理开发代码的版本,下面我就摘录一篇文章来详细说明SVN里的trunk(树干)、branches(分支)、tags(标记)这个三个文件目录的用法,给大家以启示!
PS:php连接memcached缓存服务器,现在有两种支持memcached的扩展,一个是memcache扩展,另一个是memcached扩展。memcache扩展是原生实现的,支持OO和非OO两套接口并存,而memcached扩展是使用libmemcached客户端库,只支持OO接口!
PS:最近发现TortoiseSVN的覆盖图标消失了,打开资源管理器,怎么都看不到已经同步的文件夹显示已同步图标。到SVN的设置面板,也找不到任何相关的解决办法。