缓存

Linux学习笔记三

浪尽此生 提交于 2020-03-29 09:51:11
文件系统 1.一个文件具有两类数据 元数据 metadata 数据 data 索引中的信息为元数据,例如文件名,大小 索引指向的信息为数据 文件必定会占据空间,并且一定有文件名,但是文件名不占这个文件的空间,类似与人名不会长在身上,属于外围属性 目录索引也是也是文件,特殊的文件 2.文件名的命名规则 (1)文件名严格区分字符大小写,如file File 是不同的两个文件 (2)文件名可使用 / 以外的任意字符,并且不建议使用特殊字符 (3)文件名的长度,最长不能超过255个字符 (4)所有以 . 开头的文件,皆为隐藏文件。 3.关于字符/ 表示意义 (1)根目录 (2)路径分隔符 4.路径有两类 绝对路径:从根目录上起始的路径 相对路径:从当前目录起始的路径 5.当前目录 也叫做工作目录 working directory 查看当前目录的路径 命令是 pwd 表示方式: ./ 6.上一级目录的表示方式 . . 7.关于外部命令的运行过程,以及缓存 由于命令的可执行文件存在某个目录中 命令 ls 为例 输入ls后,shell程序会在PATH环境变量中存储的路径,逐一寻找匹配,变量中的各个路径用冒号隔开,直到找到匹配的可执行文件 但是此寻找匹配的操作,只有在第一次执行ls命令是进行,因为第一次执行后,会将该命令的正确路径记录下来,放到缓存中(缓存教师内存的一段空间)

实践中的电商前端优化

做~自己de王妃 提交于 2020-03-29 08:59:48
前端优化已经是一个被写烂的题材了。 虽千万人吾往矣,这里我仅分享我的一些实践经验。 欢迎一起交流 欢迎关注我的个人公众号,不定期更新自己的工作心得。 正文如下 前端性能 1. 模块化 严格来说,代码模块化并不能带来性能上的提升,但我还是将模块化提出来,因为它真的很重要,重要到几乎所有的优化都与它息息相关。 常见的模块化方案有:AMD、CMD、UMD、ES6 如何选择? 团队习惯 个人偏好 业务需要 我靠!你怎么能把业务需要放在最后一个考虑? 因为没有哪一块业务会因为使用了不同的模块化方案而产生不同的结果。 而且我觉得 软件开发中的以人为本 用在这里刚好合适,其他地方就只能 呵呵了。毕竟业务高于一切,这是操守。 2. 缓存 缓存一定要加! 缓存一定要加! 缓存一定要加! 因为CDN真的很贵。。。 没有CDN?那就更得加缓存了!!! 缓存有很多方式,最为常见的就是下面这两种了 浏览器304缓存 localstorage本地存储 业界,一直有关于304缓存与localstorage性能的争议,这里我们不讨论两者的差异,或性能问题。 我一向以业务导向选择方案,这里我选择的是localstorage,如果你愿意,你可以通过localstorage将缓存玩出一朵花出来。 你可以这么干: 通过localstorage存储js、css资源; 资源版本控制; 只要你愿意

离线应用缓存

為{幸葍}努か 提交于 2020-03-29 08:58:18
从网上搜到的例子都是基于html的,其实jsp页面也可以做缓存,包括jsp中的同步数据也可以缓存,本人已经测试过。 首先,服务端的配置,本例用tomcat,在web.xml中配置以下项 <!-- 配置manifest --> <mime-mapping> <extension>manifest</extension> <mime-type>text/cache-manifest</mime-type> </mime-mapping> 接着,配置test.manifest文件。 CACHE MANIFEST # VERSION 4.5 # 直接缓存的文件 CACHE: index.html db.html data.html js/cache.js js/jquery.js js/db-use.js js/data.json images/a.jpg images/b.jpg images/c.jpg images/d.jpg images/e.jpg images/f.jpg 如果缓存的文件有变化,则改变版本号即可,上面的version。 这里面只能配置缓存静态文件。但是,如果你的是jsp等的动态页面,则需要在jsp文件中加上下面这句话: <html manifest="test.manifest" type="text/cache-manifest">

Dos命令大全(1)

妖精的绣舞 提交于 2020-03-29 08:30:09
Dos命令大全(1) https://www.cnblogs.com/jokerjason/p/7505071.html MS DOS 命令大全一、基础命令 1 dir 无参数:查看当前所在目录的文件和文件夹。 /s:查看当前目录已经其所有子目录的文件和文件夹。 /a:查看包括隐含文件的所有文件。 /ah:只显示出隐含文件。 /w:以紧凑方式(一行显示5个文件)显示文件和文件夹。 /p:以分页方式(显示一页之后会自动暂停)显示。 |more:前面那个符号是“\”上面的那个,叫做重定向符号,就是把一个 命令的结果输出为另外一个命令的参数。more也是一个命令,dir /w |more 得到的结果和dir /w /p的结果是一样的。 其他的参数大家可以用:dir/?查看。 2 cd cd 目录名:进入特定的目录。如果看到有个目录显示为:abcdef ghi 就 输入:cdabcdef.ghi进入该目录。 cd\ 退回到根目录。 cd..退回到上一级目录。 3 md rd md 目录名:建立特定的文件夹。 (dos下面习惯叫目录,win下面习惯叫文 件夹。呵呵!) rd 目录名:删除特定的文件夹。 4 cls 清除屏幕。 5 copy copy 路径\文件名 路径\文件名 :把一个文件拷贝到另一个地方。 6 move move 路径\文件名 路径\文件名 :把一个文件移动(就是剪切+复制

nginx缓存cache的几种方式

。_饼干妹妹 提交于 2020-03-29 07:05:45
官方详细参数: http://wiki.nginx.org/NginxHttpProxyModule 1、传统缓存之一(404) 这个办法是把nginx的404错误定向到后端,然后用proxy_store把后端返回的页面保存。 location / { root /home/html/;#主目录 expires 1d;#网页的过期时间 error_page 404 =200 /fetch$request_uri;#404定向到/fetch目录下 } location /fetch/ {#404定向到这里 internal;#指明这个目录不能在外部直接访问到 expires 1d;#网页的过期时间 alias /home/html/;#虚拟目录文件系统地址要和locaion /一致,proxy_store会将文件保存到这目录下 proxy_pass http://xok.la/ ;#后端upstream地址,/fetch同时是一个代理 proxy_set_header Accept-Encoding '';#让后端不要返回压缩(gzip或deflate)的内容,保存压缩后的内容会引发乱子。 proxy_store on;#指定nginx将代理返回的文件保存 proxy_temp_path /home/tmp;#临时目录,这个目录要和/home/html在同一个硬盘分区内 }

Cache缓存

ぃ、小莉子 提交于 2020-03-29 07:05:27
1 、 如果每次进入页面的时候都查询数据库生成页面内容的话,如果访问量非常大,则网站性能会非常差。而如果只有第一次访问的时候才查询数据库生成页面内容,以后都直接输出内容,则能提高系统性能。这样无论有多少人访问都只访问一次数据库,数据库压力不变。 2 、为了保证从缓存中读取数据和数据库中数据一致,则需要在数据库中对应的数据发生变化的时候,清除缓存中相应的数据( 缓存依赖 )。 3 、缓存是改进网站性能的第一个手段, Asp.Net 缓存主要分为: 页面缓存 ( 中庸 ) 、 数据源缓存 ( 最不灵活的 ) 、 数据缓存 ( 灵活 ) 这三种主要类型。 页面缓存 给 aspx 页面添加 <%@ OutputCache Duration=“15” VaryByParam=“none”%> 标签就可以启用页面缓存,这样整个页面的内容都会被缓存,页面中的 ASP.Net 代码、数据源在缓存期间都不会被运行,而是直接输出缓存的页面内容。 Duration 表示缓存时间,以秒为单位,超过这个时间则缓存失效,再次生成以后会再缓存 15 秒,以此类推。 注 : 这个缓存是在服务器缓存的,不是在客户端,因为用 HttpWatch 还是能看到向服务器提交的请求,只不过服务器看到有缓存就没有再执行页面类。 页面缓存是针对所有这个页面的访问者。这样 1 个访问者和 1 万个访问者、一次访问和 100

Django学习之十二:Cache 缓存组件

孤街浪徒 提交于 2020-03-29 07:04:46
Django Cache 缓存组件 目录 Django Cache 缓存组件 缓存逻辑伪代码 配置缓存源 可配置参数说明 01. Django的默认缓存 02. 基于Redis的django-redis 03. 自定义cache 04. Django其它内置的缓存源,直接开箱使用out-of-the-box 使用cache的示例 1. cache在视图中示例 2. 全站缓存 3. 利用模板系统页面部分缓存 4. low-level api操作缓存 总结 在FBV 或 CBV 需要缓存数据,又或者要进行全站缓存(利用中间件),单视图缓存(利用装饰器@cache_page(60 * 5) ),或者在template中使用{% cache 5 content_detail %} xxx {% endcache %} 进行页面局部缓存。这些场景都是需要用到缓存,来提高我们响应用户请求速度的。在django框架中,给我们提供了Cache组件,并暴露出满足以上4中需求的接口,我们只需要配置好我们的缓存引擎源及相关配置,就可以方便使用了。 博文图片挂了临时解决办法 缓存逻辑伪代码 given a URL, try finding that page in the cache if the page is in the cache: return the cached page else:

2.ASP.NET HttpRuntime.Cache缓存类使用总结

我的未来我决定 提交于 2020-03-28 23:27:36
   1.高性能文件缓存key-value存储—Redis    2.ASP.NET HttpRuntime.Cache缓存类使用总结   备注:三篇博文结合阅读,简单理解并且使用,如果想深入学习,请多参考文章中给出的博文地址。 1.前言    a.Memcached是一个高性能的分布式缓存系统,用于Web应用减轻数据库负载,它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高网站的访问速度。   b.Memcached是一个给予存储键/值对的HashMap,底层使用C语言完成,但是客户端可以使用任何语言来编写(Java,.NET,PHP).   c.Memcached中的数据都是存储在memcached内置的内存存储空间中,由于数据仅存在于内存中,因此当某个服务器停止运行或者出现问题之后,所有存放在服务器上的键/值对都会丢失。   d.下面这幅图可以说明Memcached的工作过程,当首次访问系统的时候,系统从数据库中取得数据保存到Memcached中,在第二次访问的时候则直接从Memcached中读取出来需要的值信息。        e.Memcached的特征      Memcached作为高速运行的分布式缓存服务器,具有以下的特点:      e.1:协议简单(客户端通信并不是使用复杂的XML格式,而是使用简单的基于文本行的协议)     e.2

如何保证缓存与数据库的双写一致性

删除回忆录丶 提交于 2020-03-28 18:57:07
Cache Aside Pattern 最初级的缓存不一致问题及解决方案 比较复杂的数据不一致问题分析 分布式缓存是现在很多分布式应用中必不可少的组件,但是用到了分布式缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题? Cache Aside Pattern 最经典的缓存+数据库读写的模式,就是 Cache Aside Pattern。 读的时候,先读缓存,缓存没有的话,就读数据库,然后取出数据后放入缓存,同时返回响应。 更新的时候,先更新数据库,然后再删除缓存。 为什么是删除缓存,而不是更新缓存? 原因很简单,很多时候,在复杂点的缓存场景,缓存不单单是数据库中直接取出来的值。 比如可能更新了某个表的一个字段,然后其对应的缓存,是需要查询另外两个表的数据并进行运算,才能计算出缓存最新的值的。 另外更新缓存的代价有时候是很高的。是不是说,每次修改数据库的时候,都一定要将其对应的缓存更新一份? 也许有的场景是这样,但是对于比较复杂的缓存数据计算的场景,就不是这样了。 如果你频繁修改一个缓存涉及的多个表,缓存也频繁更新。但是问题在于,这个缓存到底会不会被频繁访问到? 举个栗子,一个缓存涉及的表的字段,在 1 分钟内就修改了 20 次,或者是 100 次,那么缓存更新 20 次、100 次;但是这个缓存在 1 分钟内只被读取了

国内图片网站Yupoo的架构

冷暖自知 提交于 2020-03-28 09:50:21
之前向大家介绍过全球最大在线图片服务网站 Flickr网站架构 ,Yupoo(又拍网)作为国内最大的图片服务提供商,我们也一起来看看它的架构,同样是提供图片服务,看看他与Flickr的差别在哪里,大家看完本文可以思考一下。 一、先来看看Yupoo网站的基本信息: 带宽:4000M/S ( 参考 ) 服务器数量:60 台左右 Web服务器:Lighttpd, Apache, nginx 应用服务器:Tomcat 其他:Python, Java, MogileFS 、ImageMagick 等 其架构图如下: 原图链接 二、关于 Squid 与 Tomcat Squid 与 Tomcat 似乎在 Web 2.0 站点的架构中较少看到。我首先是对 Squid 有点疑问,对此阿华的解释是"目前暂时还没找到效率比 Squid 高的缓存系统,原来命中率的确很差,后来在 Squid 前又装了层 Lighttpd, 基于 url 做 hash, 同一个图片始终会到同一台 squid 去,所以命中率彻底提高了" 对于应用服务器层的 Tomcat,现在 Yupoo! 技术人员也在逐渐用其他轻量级的东西替代,而 YPWS/YPFS 现在已经用 Python 进行开发了。 名次解释: YPWS--Yupoo Web Server YPWS 是用 Python开发的一个小型 Web 服务器,提供基本的