首頁 >後端開發 >php教程 >数据访问层(DAL)如何优雅的协调存取缓存数据库(如redis)和持久数据库(如mysql)?

数据访问层(DAL)如何优雅的协调存取缓存数据库(如redis)和持久数据库(如mysql)?

WBOY
WBOY原創
2016-06-06 20:47:231394瀏覽

假设dal用php举例。

原来使用php单独操作mysql,现在需要压榨服务器,考虑增加一个redis,但同时面对两个数据源的存取策略产生了疑惑,希望帮助梳理一下。

用伪代码解释一下更好,谢谢。

回复内容:

假设dal用php举例。

原来使用php单独操作mysql,现在需要压榨服务器,考虑增加一个redis,但同时面对两个数据源的存取策略产生了疑惑,希望帮助梳理一下。

用伪代码解释一下更好,谢谢。

仅仅把redis当做缓存, 没必要写在DAL里吧(我不知道DAL的意思,只用过DAO、AR,ORM,听名字都是类似的东西?),就仅仅以缓存的形式去拓展它,比如继承你Cache类,如果还有用作永久存储需求,去继承DAL类,用redis给它实现出来,如果用做队列、或交集并集、计数器等等,同样去通过redis数据库去实现既有的接口。

最后用一个通用入口文件,通过构造方法调用不同的实现。

伪代码不会写,既然PHP直接贴开源项目吧Yii2-redis, 看看其中ActiveRecord.php与Cache.php,大概想法就是这样。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn