PHP项目缓存怎么搭建?
用PHP写一个自己的产品,以后开发网站都要用到这个项目,经验不足,在缓存方面纠结了好一阵。我想用smarty从底层开始做。由于smarty有自己的缓存机制,所以我会利用它...
用PHP写一个自己的产品,以后开发网站都要用到这个项目,经验不足,在缓存方面纠结了好一阵。
我想用smarty从底层开始做。由于smarty有自己的缓存机制,所以我会利用它的缓存功能,但这种方式的缓存只是缓存的编译文件,如果这个缓存文件不存在并且没有其他方式的缓存,则会重新读取很多很多次数据库,所以我要考虑其他缓存方式,例如文件缓存数据库方式。
我是这么想的,后台有个功能叫做生成缓存,把项目需要的表全部一次性缓存起来(读取出数组,然后生成文件并写入文件),读取数据的时候判断缓存的文件是否存在,如果存在则读取缓存文件,否则再读取数据库,当修改对应的配置时会重新生成缓存文件。但是我搞不懂,我做的前台功能也需要读取缓存,假如我在生成缓存的那一瞬间,前台用户读取缓存的话,应该会出现错误吧?这个问题怎么解决,或者有没有更好的解决方案?
我初步是想按这种方案做的,并且结合smarty的模板缓存来构建项目的缓存机制。请问这样做合理吗?有没有更好的方法?请大神帮我解答上面的很多疑问。谢谢啦 展开
我想用smarty从底层开始做。由于smarty有自己的缓存机制,所以我会利用它的缓存功能,但这种方式的缓存只是缓存的编译文件,如果这个缓存文件不存在并且没有其他方式的缓存,则会重新读取很多很多次数据库,所以我要考虑其他缓存方式,例如文件缓存数据库方式。
我是这么想的,后台有个功能叫做生成缓存,把项目需要的表全部一次性缓存起来(读取出数组,然后生成文件并写入文件),读取数据的时候判断缓存的文件是否存在,如果存在则读取缓存文件,否则再读取数据库,当修改对应的配置时会重新生成缓存文件。但是我搞不懂,我做的前台功能也需要读取缓存,假如我在生成缓存的那一瞬间,前台用户读取缓存的话,应该会出现错误吧?这个问题怎么解决,或者有没有更好的解决方案?
我初步是想按这种方案做的,并且结合smarty的模板缓存来构建项目的缓存机制。请问这样做合理吗?有没有更好的方法?请大神帮我解答上面的很多疑问。谢谢啦 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询