当前位置: 首页 > 编程笔记 >

让CodeIgniter数据库缓存自动过期的处理的方法

公孙栋
2023-03-14
本文向大家介绍让CodeIgniter数据库缓存自动过期的处理的方法,包括了让CodeIgniter数据库缓存自动过期的处理的方法的使用技巧和注意事项,需要的朋友参考一下
CodeIgniter框架是一个非常小巧的PHP框架。CI自带数据库文件缓存,但按官方的说法,缓存设置后永不过期,除非你调用方法主动删除。
Cache files DO NOT expire. Any queries that have been cached will remain cached until you delete them.
感觉太弱智了,非常不方便。 修改一下db类,在开启缓存时设置一个过期时间,到期自动缓存自动失效。
1:CI database/DB_dirver.php 中 1021行 cache_on 函数替换为
function cache_on($expire_time=0) //add parm expire time - 缓存过期时间
{
$this->cache_expire_time = $expire_time; //add by kenvin
$this->cache_on = TRUE;
return TRUE;
}

2:CI database/DB_cache.php 中 90行 read 函数 if (FALSE === ($cachedata = read_file($filepath))) 一行前面加上
//判断是否过期 // cache_expire_time
if ( !file_exists($filepath) ) {
return false;
}
if ( $this->db->cache_expire_time > 0 && filemtime($filepath) db->cache_expire_time) {
return false;
}

这样,在需要开启缓存的地方,由以前的 $this→db→cache_on(); 改为
$this→db→cache_on($SEC); 

$SEC 为缓存过期时间,以秒为单位。 如 $this→db→cache_on(60);表示缓存60秒后过期。
 类似资料:
  • 我最近一直在思考同一个问题,想知道我的令牌解决方案是否有什么重大缺陷: 将过期时间设置为较低值(约15分钟) 每个生成的JWT也被添加到每个用户的“issuedTokens”集合/表中 在 JWT 验证期间,如果过期已过,将从服务器返回“过期”响应(例如,正文中带有“过期”的 401)。当客户端收到此状态时,它应该启动一个刷新过程,该过程将过期的令牌换成新的令牌。 服务器上的刷新endpoint应

  • 本文向大家介绍CodeIgniter启用缓存和清除缓存的方法,包括了CodeIgniter启用缓存和清除缓存的方法的使用技巧和注意事项,需要的朋友参考一下 Codeigniter支持缓存技术,以达到最快的速度。尽管CI已经相当高效了,但是网页中的动态内容、主机的内存CPU和数据库读取速度等因素直接影响了网页的加载速度。依靠网页缓存,你的网页可以达到近乎静态网页的加载速度,因为他们将程序输出的结果保

  • 问题内容: 我试图让bash处理来自管道的stdin的数据,但是没有运气。我的意思是以下任何一项工作: 我希望输出在哪里。我试过用“”引号括住也不起作用。 问题答案: 采用 您 可以像这样欺骗从管道中接受: 甚至编写这样的函数: 但是没有意义-您的变量分配可能不会持续!管道可能会产生一个子外壳,其中环境是通过值而不是通过引用继承的。这就是为什么不打扰管道输入的原因- 它是未定义的。 仅供参考,ht

  • 我需要使用spring@Cacheable注释缓存对MongoDB的调用: 不幸的是,使用@Cacheable注释接口中的任何方法都会导致以下异常: 我正在寻找一种方法来缓存对DB的调用(这相当昂贵)。有什么想法吗?

  • 本文向大家介绍使用Memcache缓存mysql数据库操作的原理和缓存过程浅析,包括了使用Memcache缓存mysql数据库操作的原理和缓存过程浅析的使用技巧和注意事项,需要的朋友参考一下 对于大型网站如facebook,ebay等网站,如果没有Memcache做为中间缓存层,数据访问不可能吃得消,对于一般网站,只要具备独立的服务器,完全可以通过配置Memcache提高网站访问速度和减少数据库压

  • 数据库缓存类允许你把数据库查询结果保存在文本文件中以减少数据库访问。 重要 当缓存启用时,本类会被数据库驱动自动加载,切勿手动加载。 重要 并非所有查询结果都能被缓存,请仔细阅读本页内容。 启用缓存 启用缓存需要三步: 在服务器上创建一个可写的目录以便保存缓存文件; 通过文件 application/config/database.php 中的 cachedir 参数设置其目录路径; 通过将文件