合理利用缓存文件

不要把所有都变成想当然,当你要给成几万几十万几百万用户展示一个信息的时候。

你会去数据库中信息的表给所有用户都插入一条信息么?

我想打多数人不会那么干吧,但有时候就想当然了,一条是这么干 20条肯定也是这么干的。

这样就陷入了一个误区。转变一下思维,给一个人肯定是就只给20个用户中的一个人只让他自己看到,这样我们在库中给他一条信息,展示给他自己看。

给所有人看的共同信息,就没有区分了,那么这时候我们可以生成一个缓存文件,把要展示的内容放在文件的头部包含进来,读取静态信息。在展示的时候可以设定展示的时间,这样就可以做到过期不显示了。

以上就是今天学到的一点感想,我想大多数人都比我聪明吧。

一下是例子展示:

$arr是你要展示的信息 这里用的是数组  var_export大家都知道干嘛的,不多做叙述。

由于生成的是 php文件 那么我们的<?php ?>(推荐使用长标记)是必不可少的。

$array = "<?php\r\nreturn ".var_export($arr,true).";\r\n?>";

$path 是缓存文件存入的地址。$file是文件名称

$path = $path . $file.‘.php‘;

file_put_contents()生成缓存文件。

file_put_contents($path,$array);

觉得看更多的程序并且把它实践,优化,是熟悉业务,提升思维逻辑的不错方法。

2014-11-18

来自于百度空间    转移原文1

时间: 2024-10-13 11:11:51

合理利用缓存文件的相关文章

django开发中利用 缓存文件 进行页面缓存

首先我们先来了解下浏览器的缓存 浏览器缓存机制 Cache-control策略 Cache-Control与Expires的作用一致,都是指明当前资源的有效期,控制浏览器是否直接从浏览器缓存取数据还是重新发请求到服务器取数据.只不过Cache-Control的选择更多,设置更细致,如果同时设置的话,其优先级高于Expires. 还是上面那个请求,web服务器返回的Cache-Control头的值为max-age=300,即5分钟(和上面的Expires时间一致,这个不是必须的). Last-Mo

nginx利用proxy_cache来缓存文件

nginx利用proxy_cache来缓存文件,有需要的朋友可参考  代码如下 复制代码 user  zhangy users;worker_processes 10;error_log  /var/vlogs/nginx_error.log  crit;pid        /var/vlogs/nginx.pid;#Specifies the value for maximum file descriptors that can be opened by this process.worke

nginx利用lua实现nginx反向代理proxy_store缓存文件自删除

因为自己网站526net一直放在国外,速度一直不怎么理想.所以网站前端一直是买一些低配廉价,但是对国内线路友好的机器来做反向代理. nginx的反向代理可以说已经很好用了,我一直使用proxy_store方式来做缓存,唯一的缺点就是不会自动清理缓存.我是通过定时任务自动删除的. 但是还是做不到我要的效果,前两天使用lua写了脚本,实现客户访问前端,lua判断文件的创建时间,然后根据设定的时间来自动删除缓存. nginx 的设置我就不多说了,lua的安装可以参考 <LNMP平滑升级nginx并安装

ThinkPHP 利用.htaccess文件的 Rewrite 规则隐藏URL中的 index.php

去掉 URL 中的 index.php ThinkPHP 作为 PHP 框架,是单一入口的,那么其原始的 URL 便不是那么友好.但 ThinkPHP 提供了各种机制来定制需要的 URL 格式,配合 Apache .htaccess 文件,更是可以定制出人性化的更利于 SEO 的 URL 地址来. .htaccess文件是 Apache 服务器中的一个配置文件,它负责相关目录下的网页配置.我们可以利用 .htaccess 文件的 Rewrite 规则来隐藏掉 ThinkPHP URL 中的 in

[PHP]利用XAMPP搭建本地服务器, 然后利用iOS客户端上传数据到本地服务器中(三. PHP端代码实现)

一.安装XAMPP   http://www.cnblogs.com/lidongxu/p/5256330.html 二. 配置MySql http://www.cnblogs.com/lidongxu/p/5256515.html 然后呢, 今天我们就来接触下PHP开发语言 1. 首先呢, 需要在我们本机服务器文件夹资源下新建个.php文件,   废话嘛(你要写php啦!) 2. 在register.php 输入以下代码 <?php // 1. 获取客户端利用post方式网络请求的body里的

利用videoView创建播放器,实现展示视频列表和搜索sd卡功能 以及android6.0的动态授权等功能

最近无聊写了个播放器除了没实现解码功能大多的功能都实现了,主要是回顾一些android的知识点和andorid6.0的动态授权的学习. 1.android 6.0的动态授权问题. android 6.0后需要开发人员实现动态授权,不再像以前一样在mainfet的清单文件中加入权限就可以了,需要在代码中动态分配权限.如微信发送图片时候就需要访问图库,用户可以在setting里设置不能访问也可以设置为可以访问图库,以前的android系统在安装时候同意了后就一直可以访问图库否则就不能安装微信,现在的

Android开发之图片处理专题(三):利用ThreadPoolExcutor线程池实现多图片的异步加载

在上一篇专题Android开发之图片处理专题(二):利用AsyncTask和回调接口实现图片的异步加载和压缩中我们实现了listView的图片的大量加载.今天,我们换一种方式,采用线程池的方式来实现. 我们需要准备两个东西: 1.图片下载任务类 2.线程池. 1.图片下载任务类. 图片下载任务类,将需要显示的iamgeView,线程通讯消息管理者handler进行了封装.当图片下载无论成功还是失败,handler发送对应的消息,传入的iamgeView显示对应的图片.这里就不在应用软引用技术,采

利用LruCache和DiskLruCache加载网络图片实现图片瀑布流效果(升级版)

MainActivity如下: package cc.patience7; import android.os.Bundle; import android.app.Activity; /** * Demo描述: * 采用瀑布流的形式加载大量网络图片 * 详细分析参见WaterfallScrollView * * 更新说明: * 在原本的的基础上添加了本地缓存DiskLruCache * * 所以在该示例中对于图片的缓存采用了:LruCache + DiskLruCache 的技术 * * 参考

利用nodejs模块缓存机制创建“全局变量”

在<深入浅出nodejs>有这样一段(有部分增减): 1.nodejs引入模块分四个步骤 路径分析 文件定位 编译执行 加入内存 2.核心模块部分在node源代码的编译过程中就编译成了二级制文件,在node启动时就直接加载如内存,所以这部分模块引入时,前三步省略,直接加入. 3.nodejs的模块加载和浏览器js加载一样都有缓存机制,不同的是,浏览器仅仅缓存文件,而nodejs缓存的是编译和执行后的对象(缓存内存). 基于以上三点:我们可以编写一个模块,用来记录长期存在的变量.例如:我可以编写