File缓存

/**

* 保存对象

* @param ser

* @param file

* @throws IOException

*/

public boolean saveObjectList(ArrayList<NewsType> ser, String file) {

FileOutputStream fos = null;

ObjectOutputStream oos = null;

try{

fos = openFileOutput(file, MODE_PRIVATE);

oos = new ObjectOutputStream(fos);

oos.writeObject(ser);

oos.flush();

oos.close();

return true;

}catch(Exception e){

e.printStackTrace();

return false;

}finally{

try {

oos.close();

} catch (Exception e) {}

try {

fos.close();

} catch (Exception e) {}

}

}

/**

* 读取对象

* @param file

* @return

* @throws IOException

*/

public ArrayList<NewsType> readObjectList(String file){

if(!isExistDataCache(file))

return null;

FileInputStream fis = null;

ObjectInputStream ois = null;

try{

fis = openFileInput(file);

ois = new ObjectInputStream(fis);

return (ArrayList<NewsType>)ois.readObject();

}catch(FileNotFoundException e){

}catch(Exception e){

e.printStackTrace();

//反序列化失败 - 删除缓存文件

if(e instanceof InvalidClassException){

File data = getFileStreamPath(file);

data.delete();

}

}finally{

try {

ois.close();

} catch (Exception e) {}

try {

fis.close();

} catch (Exception e) {}

}

return null;

}

时间: 2024-12-27 23:50:14

File缓存的相关文章

Laravel之路——file缓存修改为redis缓存

1.Session: 修改.evn文件: SESSION_DRIVER:redis (如果还不行的话,修改config/session.php的driver) 2.缓存修改为redis 注意:使用 Laravel 的 Redis 缓存之前,你需要通过 Composer 安装 predis/predis 包(~1.0). 1.修改.evn文件中redis的配置信息

php 的file 缓存

PDO方式连接数据库类 <?php /** * @author 黄功延 * createTime 2018/5/28 0028 09:44 */ class Db { //私有化数据库连接数据,可以通过getInstance传入自己的连接数据来进行指定数据库连接(写框架的基础) private $config = [ 'dbname' => 'shunk', 'username' => 'root', 'password' => 'root' ]; private static $

Atitit.h5 web webview性能提升解决方案-----fileStrore缓存离线存储+http方案

1. 业务场景 android+webview h5 css背景图性能提升1 2. 根据标准,到目前为止,H5 一共有6种缓存机制,有些是之前已有,有些是 H5 才新加入的.1 2.1. 各种方案的比较,如下图2 3. Attilax的解决之道 file 缓存+http3 3.1. 图片的下载3 3.2. Jsbridge 4android5 3.3. http协议6 4. 参考8 1. 业务场景 android+webview h5 css背景图性能提升 图片的缓存大概儿需要500m的规模..

tp缓存

在项目中,合理的使用缓存对性能有较大的帮助.ThinkPHP提供了方便的缓存方式,包括数据缓存.静态缓存和查询缓存等,支持包括文件方式.APC.Db.Memcache.Shmop.Sqlite.Redis.Eaccelerator和Xcache在内的动态数据缓存类型,以及可定制的静态缓存规则,并提供了快捷方法进行存取操作. 数据缓存 在ThinkPHP中进行缓存操作,一般情况下并不需要直接操作缓存类,因为系统内置对缓存操作进行了封装,3.1版本推荐的数据缓存方法是cache方法,基本的用法是:(

ThinkPHP的缓存技术

原文:ThinkPHP的缓存技术 如果没有缓存的网站是百万级或者千万级的访问量,会给数据库或者服务器造成很大的压力,通过缓存,大幅减少服务器和数据库的负荷.假如我们 把读取数据的过程分为三个层,第一个是访问层,第一个是缓存层,第三个是数据库存取层.如果没有缓存层,访问层是直接从数据库存取层读取数据,而设置缓存 后,访问层不再是直接在数据库存取层读取,而是从缓存层读取数据.我们做个简单的对比,假设一个页面,在一个小时可被访问100万次,如 果这个页面每次被访问的时候,都直接读取数据库后再编译生成,

ShopNC学习笔记四:缓存设计

系统可以对数据进行多种形式缓存,包括文件方式.共享内存方式和数据库方式.目前已支持的缓存方式包括:file.apc .eAccelerator .memcache 和 xcache,开发者也可以开发更加适合自己的缓存. 系统由Cache缓存类进行缓存操作,由Cache::getInstance方法完成缓存类型实例化: //取得memcache缓存实例 $obj_cache = Cache::getInstance('memcache'); //缓存赋值 $obj_cache->set('uid'

Django—— 缓存框架

译者注:1.无用的,吹嘘的说辞不翻译:2.意译,很多地方不准确. 动态网站最为重要的一点就是好,网页是动态的.每一次用户请求页面,网站就要进行各种计算——从数据库查询,到render模板,到各种逻辑运算——生成页面所需的.这个过程是异常消耗资源的,远远比从硬盘读取一个文件然后显示出来的代价高昂. 对于大多数中小网站来说,这也许不是问题,因为他们的访问量不大,而对于大型网站而言,必须尽量减少不必要的服务器资源开支. 因此,有了缓存技术. 缓存就是把一些需要消耗很多资源的计算结果保存下来,当下次需要

php 文件缓存

http://www.oschina.net/code/snippet_162279_6098 <?php class cache {       private static $_instance = null;     protected $_options = array(         'cache_dir'        => "./",         'file_name_prefix' => 'cache',         'mode'      

thinkphp3.1 缓存配置设置读取

以下黄字是我用的代码: //设置缓存名为zgg,内容为zongguagua,有效时间60秒 cache('zgg',"zongguagua",60); //读取缓存 if(cache('zgg')){ echo cache('zgg'); }else{ echo '已经失效'; } 另一种写法 //设置缓存类型为File,有效时间60秒,缓存类型有很多比如什么xcacha什么的,似乎还要装插件,现在用的不需要 cache(array('type'=>'File','expire'