高效PHP Redis缓存技术,可参考下步骤
是否想过PHP使用redis作为缓存时,如何能: 前后台模块共用Model层; 但是,不能每个Model类都进行缓存,这样太浪费Redis资源; 前后台模块可以自由决定从数据库还是从缓存读数据; 没有冗余代码; 使用方便。 这里我们先展示实现的最终效果。 最终的代码和使用说明请移步Github: https:// github.com/yeszao/php-r edis-cache 。 马上安装使用命令: $ composer install yeszao/cache 经过简单配置就可以使用,请参看Github的README说明。 1 最终效果 假设在MVC框架中,model层有一个Book类和一个getById方法,如下: class Book { public function getById($id) { return $id; } } 加入缓存技术之后,原来方法的调用方式和返回的数据结构都不应该改变。 所以,我们希望,最后的效果应该是这样的: 1 ( new Book)->getById( 100 ); // 原始的、不用缓存的调用方式,还是原来的方式,一般是读取数据库的数据。 2 ( new Book)->getByIdCache( 100 ); // 使用缓存的调用方式,缓存键名为:app_models_book:getbyid: + md5(参数列表) 3 ( new