首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏全栈程序员必看

    PHP 浏览器缓存_php缓存引擎

    浏览器缓存动态内容,缓存的内容在浏览器本地,而内容由web服务器生成,任何一方都不可能完成这一系列过程,他们之间有一种沟通机制,这就是缓存协商. 如何协商 当浏览器向web服务器请求内容时,服务器需要告诉浏览器那些内容可以被缓存,一旦浏览器知道某个内容可以缓存后,下次当浏览器需要请求这个内容时,它便不会直接向服务器请求完整内容,而是询问服务器是否可以使用本地的缓存 一个test.php <?php echo time(); ;? php 另一种协商方法是ETag 它与前面所讲的协商方式非常类似,但它没有采用内容的最后修改时间,而是采用了一串编码来标记内容,称为ETag.一个原则是,如果一个内容的ETag没有变化,那么这个内容也一定没有更新 请求页面 ctrl+f5 它使得网页及其所有组件直接向web服务器发送请求,并且不使用缓存协商. f5 它等同于单机浏览器的刷新按钮,它允许浏览器在请求中附加表的缓存协商,但不允许浏览器直接使用本地缓存

    2.8K30编辑于 2022-11-07
  • 来自专栏技术博文

    php缓存技术

    1、全页面静态化缓存 也就是将页面全部生成html静态页面,用户访问时直接访问的静态页面,而不会去走php服务器解析的流程。 php文件中,文件名包含商品id来建一个唯一标示;下一次有人想查看这个商品时,首 先就直接调这个文件里面的信息,而不用再去数据库查询;其实缓存文件中缓存的就是一个php数组之类; Ecmall商城系统里面就用了这种方式 ,就需要重新从数据库中获取数据, 并生产最新的缓存文件; 比如,我将我们商城的首页就是设置2个小时更新一次; 5、按内容变更进行缓存 这个也并非独立的缓存技术,需结合着用;就是当数据库内容被修改时,即刻更新缓存文件 /configure --enable-cache --enable-disk-cache --enable-mem-cache 8、php APC缓存扩展 Php有一个APC缓存扩展,windows下面为 php_apc.dll,需要先加载这个模块,然后是在php.ini里面进行配置: [apc]       extension=php_apc.dll       apc.rfc1867 = on      

    4.2K60发布于 2018-04-16
  • 来自专栏程序生涯

    PHP缓存技术介绍

    1、普遍缓存技术:   数据缓存:这里所说的数据缓存是指数据库查询PHP缓存机制,每次访问页面的时候,都会先检测相应的缓存数据是否存在,如果不存在,就连接数据库,得到数据,并把查询结果序列化后保存到文件中 4、 内容触发缓存:    当插入数据或更新数据时,强制更新PHP缓存机制。 、 静态缓存:   这里所说的静态缓存是指静态化,直接生成HTML或XML等文本文件,有更新的时候重生成一次,适合于不太变化的页面,这就不说了。 是高性能的,分布式的内存对象PHP缓存机制系统,用于在动态应用中减少数据库负载,提升访问速度。 以上两个PHP流行组件缓存方式的侧重点是不同的,对于Adodb的缓存而言,它缓存的是数据,对于Smarty的缓存而言,它缓存的是页面。

    3.1K10发布于 2020-08-14
  • 来自专栏兜兜毛毛

    MyBatis 缓存5

    跟Hibernate一样,Mybatis也有一级缓存、二级缓存,并预留了集成第三方的缓存接口。 除了基础缓存之外,MyBatis也定义了很多装饰器,同样实现了Cache接口,通过这些装饰器可以额外实现很多功能。 ? 所有缓存可以分为三大类:基本缓存、淘汰算法缓存、装饰器缓存。 策略缓存缓存达到上限时,删除最先入队的缓存 evication="FIFO" SoftCache \ WeakCache 带清理策略的缓存 通过JVM的软引用和弱引用来实现缓存,当JVM内存不足时 事务缓存 在二级缓存中使用,可一次存入多个缓存,移除多个缓存 在TransactionalCacheManager中用Map维护对应关系 一级缓存 一级缓存也叫本地缓存(Local Cache),MyBatis 而一级缓存是在SqlSession内部的,所以肯定是工作在一级缓存之前,也就是只有取不到二级缓存的情况下才到一个会话中去取一级缓存。 二级缓存是在哪里维护的呢?

    65620发布于 2021-04-19
  • 来自专栏一个执拗的后端搬砖工

    springboot(5)--缓存

    它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP api等特点。 Object queryUser(@PathVariable("id") Long id) { return this.userService.findById(id); } } 5. springboot2.0.5依赖的基础库是spring5.x,而spring5中已经取消了对guava缓存的支持。 1.添加caffeine依赖 <! spring.cache.caffeine.spec=initialCapacity=50,maximumSize=500,expireAfterWrite=100s,refreshAfterWrite=5s : @Configuration public class CaffeineConfiguration { /** * 必须要指定这个Bean,refreshAfterWrite=5s

    65910发布于 2020-11-19
  • 来自专栏Linux技术资源分享

    玩玩Memcache缓存组件For PHP

    服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。 ---- Memcache的安装 # memcache依赖libevent sudo apt-get install libevent-2.0-5 memcached ---- 在何处使用memcache 第一:数据库查询(select)使用 第二:在控制回话(sesion)使用 ---- PHP的Memcache客户端所有方法总结 Memcache::add – 添加一个值,如果已经存在,则返回false 对于基本的缓存机制很简单,如图所示 ? php /** * Created by alic(AlicFeng) on 17-7-18 下午3:38 from PhpStorm.

    2.2K40发布于 2018-06-08
  • 来自专栏程序媛生涯

    PHP实现静态文件缓存

    静态文件缓存一般是指在web 应用中,将图片、js、css、视频、html等静态文件或资源保存到磁盘中,以提高资源响应时间,减少服务器压力和资源开销的一门缓存技术。 实现静态缓存 <? php class File { private $_dir; public function __construct() { $this->_dir = /files'; } /** * 静态缓存的文件处理 * @param string $file 文件名 * @param string $value 文件内容 $file; # 写入缓存 if ($value ! 生成静态缓存文件 $file = new File; $data=file_get_contents(dirname(__FILE__).'/'.'

    2.8K20发布于 2020-12-18
  • 来自专栏PHP技术分享

    php解决redis的缓存雪崩,缓存穿透,缓存击穿的问题

    php class Bloom { // 哈希函数的数量 protected $hashNum = 3; // 位数组的大小 protected $bitArrayCount ; } else { echo "not exist ", $i, PHP_EOL; } } } 这里分享一个简单方案就时讲缓存失效时间分散开,比如我们可以在原有的失效时间基础上增加一个随机值,比如1-5分钟随机,这样每一个缓存的过期时间的重复率就会降低,就很难引发集体失效的事件。 php $redis = new Redis(); $redis->connect('127.0.0.1', 6379, 60); $redis->auth(''); //设置过期时间加上一个随机值 php function getRedis() { $redis = new Redis(); $redis->connect('127.0.0.1', 6379, 60);

    1.9K40编辑于 2023-03-05
  • 来自专栏技术人生

    缓存穿透、缓存击穿、缓存雪崩区别和解决方案【php

    一、缓存穿透 缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,这时的用户很可能是攻击者,攻击会导致数据库压力过大。 这样可以防止攻击用户反复用同一个id暴力攻击 二、缓存击穿 缓存击穿是指缓存中没有但数据库中有的数据(一般是缓存时间到期),这时由于并发用户特别多,同时读缓存没读到数据,又同时去数据库去取数据 缓存雪崩是指缓存中数据大批量到过期时间,而查询数据量巨大,引起数据库压力过大甚至down机。 和缓存击穿不同的是,缓存击穿指并发查同一条数据,缓存雪崩是不同数据都过期了,很多数据都查不到从而查数据库。 解决方案: 缓存数据的过期时间设置随机,防止同一时间大量数据过期现象发生。 如果缓存数据库是分布式部署,将热点数据均匀分布在不同搞得缓存数据库中。 设置热点数据永远不过期。

    1.9K20发布于 2020-11-13
  • 来自专栏Java实战博客

    5、Openresty本地缓存

    Openresty本身也支持开辟内存添加共享缓存的空间,操作api与redis一致 本地缓存的作用 减少查询redis、mysql的操作,实际redis也很快,但是毕竟有网络开销。 本地缓存会更快一些! so;;"; # ① 开启本地共享缓存,会占用内存:150mb 缓存名mycache,自定义 lua_shared_dict mycache 128m; # 在这里配置 也就是不会超时 ngx.say('缓存设定成功!') -- 读取数据 local name = getCache:get('name') ngx.say('第二次读取本地缓存!' ,name) -- 删除数据 --getCache:delete('name') -- 特别说明 -- 1、重载配置文件,缓存不会消失 -- 2、nginx重启才会删除缓存数据 特殊说明: 以上文章

    1.4K20编辑于 2022-08-24
  • 来自专栏漫漫架构路

    5. 缓存模块

    缓存概述 对于缓存功能,相信大家都十分熟悉了。一旦我们发现系统的性能存在瓶颈需要优化时,可能第一时间想到的方式就是加缓存。 MyBatis 内部有所谓的一级缓存和二级缓存,这个会在后面的章节中详细阐述,本次仅讨论缓存的内部实现。 MyBatis 缓存定义 我们首先来看下 MyBatis 的 Cache 接口,它定义了缓存的基本行为: /** * MyBatis缓存接口 */ public interface Cache { 设置缓存内的元素数量上限为 512 个。 缓存淘汰策略是 LRU。 需要每隔 60s 需要对缓存进行清空。 小结 本篇详细介绍了 MyBatis 缓存模块的底层原理,包括缓存的基础实现、具备各种扩展功能的缓存装饰器,以及缓存 Key 的设计思想。

    39820编辑于 2023-10-12
  • 来自专栏天天

    H5缓存

    1.sessionStorage <script type="text/javascript"> var txt = document.querySelector('input'); var btns = document.querySelectorAll('button'); //存储数据 btns[0].onclick=function(){ sessionStorage.setItem('userName',txt.value); ses

    1.3K10发布于 2018-09-29
  • 来自专栏Web 技术

    缓存】HTML5缓存的那些事

    ; 数据库:mySql\mongoDB…关系\非关系数据库; 内存:通常放置频繁要使用到的东西,能够提高读取效率;缓存(cache)也是存放在内存里的; HTML的存储-cookies 在HTML5出生之前 HTML的存储-UserData 只有IE支持,有微软提供API,但不符合W3C标准; 存储在XML文件中; HTML5的存储 针对以上问题,HTML5的出现,需要解决以下问题: 解决4K的大小问题; 解决请求头常带存储信息的问题; 解决关系型存储的问题; 跨浏览器平台问题; ##HTML5存储形式 本地存储——localstorage \sessionstorage 离线缓存——application v=1会被认为是不同文件,分别缓存; app cache适用场景 单地址页面 对实时性要求不要的业务 离线web应用 总结 在实际应用中,我们需要根据业务的需要来采取相应的缓存措施,如上所述,html5 关于HTML5缓存我们就介绍到这里。 参考 HTML5之IndexedDB使用详解

    1.3K50编辑于 2023-10-07
  • 来自专栏用户8715145的专栏

    php cdn怎么加速 php能清除缓存

    php cdn怎么加速?请看下文。 image.png php cdn怎么加速 可以利用曾经使用php的经验进行,使或者用计算机编程php实现cdn加速。 php是作为计算机编程的代名词,利用php编程服务来将cdn加速,减少用户在平时上网时的卡顿现象。 而且cdn访问用户过多的话,很容易产生大量cdn缓存,过多的部署静态服务资源,加载过于多的内容,服务器或者是系统很有可能发生加载速度缓慢或者是崩溃的现象。 php能清除缓存php是能够清除缓存的。但是清除缓存的方法可以在网上自行查找。如果想用php来清除缓存,实现需要php输出控制,否则无法完全清除缓存。 不过,清除缓存的时候使用php需要比较高端的技术,这方面还是需要,一定的技巧和经验,这样会比较轻松。 综上所述是对php cdn怎么加速的介绍。如今,网络普遍在运行,网络的发展带动着网民的数量增长。

    15.3K20发布于 2021-09-18
  • 来自专栏小辰的技术分享

    php清除浏览器缓存

    今天在开发过程中遇到一个小问题,后台修改一本书的封面,上传图片后,由于浏览器的缓存导致修改之后,后台还是显示原先的封面,后来加入了两行代码搞定了这个问题。

    2.9K10发布于 2020-05-04
  • 来自专栏仙士可博客

    php自带的缓存扩展-APCu

    在很多业务中,咱们都会碰到需要缓存数据的时候,而缓存方案有很多,也可以借助redis,memcache等第三方来进行缓存 本文主要讲解APCu扩展的缓存 扩展下载地址:http://pecl.php.net 具体配置可查看http://php.net/manual/zh/apcu.configuration.php 函数: apcu_add -数据存储中缓存的新变 apcu_cache_info -检索缓存的信息从 (必须数值型) apcu_sma_info -检索高招共享内存分配信息 apcu_store -数据存储区中的缓存变量 具体说明可查看:http://php.net/manual/zh/book.apcu.php 其他函数可自测 注意:php-cli模式运行不能保存到下次运行 在FastCGI模式下重启后将会清除缓存 本文为仙士可原创文章,转载无需和我联系,但请注明来自仙士可博客www.php20.cn 上一篇 关于php的位运算

    2.5K20发布于 2019-12-19
  • 来自专栏wordpress建站吧

    PHP实现智能的自动缓存

    PHP实现自动化缓存的功能,这个感觉不错,挺好用的,只需要直接把这个php文件引入到需要缓存的页面即可实现get请求的页面缓存;用着感觉不错就分享出来了; <? php /* 【PHP实现页面缓存处理】 auto_cache.php 实现智能的自动缓存。 在需要实现缓存功能的页面 require('auto_cache.php');即可; 存放缓存的根目录,最好是放到/tmp目录,尤其是虚拟主机用户,因为/tmp目录不占自己的主页空间啊 ob_start ,千万别用 .php .asp .jsp .pl 等等 $file_name = md5($_SERVER['REQUEST_URI']).CACHE_SUFFIX; //缓存文件名 //$file_name ;</script>"); //缓存目录,根据md5的前两位把缓存文件分散开。避免文件过多。如果有必要,可以用第三四位为名,再加一层目录。

    1.5K20发布于 2019-12-06
  • 来自专栏新亮笔记

    系统的讲解 - PHP 缓存技术

    GMT'); 用户操作行为对缓存的影响 操作行为 Expires Last-Modified 地址栏回车 有效 有效 页面跳转 有效 有效 新开窗口 有效 有效 前进/后退 有效 有效 F5刷新 无效 有效 Ctrl+F5刷新 无效 无效 文件缓存 数据文件缓存 将更新频率低,读取频率高的数据,缓存成文件。 PHP Memcached 使用手册: http://www.php.net/manual/zh/book.memcached.php Memcached 经常拿来与 Redis 做对比,接下来介绍下 APC缓存 APC(Alternative PHP Cache)可选 PHP 缓存。 APC 的目标是提供一个自由、 开放,和健全的框架,用于缓存、优化 PHP 中间代码。 感兴趣可以了解下,官方介绍:http://php.net/manual/zh/book.apc.php eAccelerator eAccelerator:A PHP opcode cache。

    2.3K40发布于 2019-05-28
  • 来自专栏PHP在线

    PHP中9大缓存技术总结

    1、全页面静态化缓存 也就是将页面全部生成html静态页面,用户访问时直接访问的静态页面,而不会去走php服务器解析的流程。 php文件中,文件名包含商品id来建一个唯一标示;下一次有人想查看这个商品时,首先就直接调这个文件里面的信息,而不用再去数据库查询;其实缓 存文件中缓存的就是一个php数组之类; Ecmall商城系统里面就用了这种方式 但是超过设定的缓存时间,就需要重新从数据库中获取数据,并生产最新的缓存文件;比如,我将我们商城的首页就是设置2个小时 更新一次; 5、按内容变更进行缓存 这个也并非独立的缓存技术,需结合着用;就是当数据库内容被修改时 /configure –enable-cache –enable-disk-cache –enable-mem-cache 8、php APC缓存扩展 Php有一个APC缓存扩展,windows下面为php_apc.dll ,默认8M 9、Opcode缓存 我们知道,php的执行流程可以用下图来展示: ?

    2K40发布于 2018-03-08
  • 来自专栏PHP在线

    PHP中9大缓存技术总结

    [导读] 1、全页面静态化缓存也就是将页面全部生成html静态页面,用户访问时直接访问的静态页面,而不会去走php服务器解析的流程。 php文件中,文件名包含商品id来建一个唯一标示;下一次有人想查看这个商品时,首先就直接调这个文件里面的信息,而不用再去数据库查询;其实缓 存文件中缓存的就是一个php数组之类; Ecmall商城系统里面就用了这种方式 但是超过设定的缓存时间,就需要重新从数据库中获取数据,并生产最新的缓存文件;比如,我将我们商城的首页就是设置2个小时 更新一次; 5、按内容变更进行缓存 这个也并非独立的缓存技术,需结合着用;就是当数据库内容被修改时 /configure –enable-cache –enable-disk-cache –enable-mem-cache 8、php APC缓存扩展 Php有一个APC缓存扩展,windows下面为php_apc.dll ; 每个PHP页面所吃掉的最大内存,默认8M 9、Opcode缓存 我们知道,php的执行流程可以用下图来展示: ?

    1.9K50发布于 2018-03-08
领券