84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
打算用redis来做缓存,但是之前没弄过类似的东西,有个疑惑就是用什么东西来让redis里的数据更新到mysql或者sqlite数据库中去呢? 是需要自己写脚本定期执行更新?还是redis能自带一些功能?
我打算每10分钟或者一定的时间内,或者每天固定的时候比如半夜2点,把redis的数据更新到mysql或者sqlite中。 有什么简单的办法嘛。
学习是最好的投资!
对于你的情况,如果你可以接受定期从redis导入到mysql,那基本上表示你的业务就不需要mysql,因为redis不仅仅是缓存,塞给它的数据是持久化到硬盘的,你下次直接从redis读出来就行了。
至于缓存,一般都是读缓存(写缓存实现起来很罗嗦,而且也不那么靠谱),与数据库的同步策略需要添加到自己的代码逻辑里。
假设你原先的代码逻辑是这样:
$data = get_from_db($condition);
现在需要将get_from_db改成这样
function get_from_db($condition) { $data = get_from_cache($condition); if (!$data) { $data = get_from_db_directly($condition); set_to_cache($condition, $data); } return $data; }
对于你的情况,如果你可以接受定期从redis导入到mysql,那基本上表示你的业务就不需要mysql,因为redis不仅仅是缓存,塞给它的数据是持久化到硬盘的,你下次直接从redis读出来就行了。
至于缓存,一般都是读缓存(写缓存实现起来很罗嗦,而且也不那么靠谱),与数据库的同步策略需要添加到自己的代码逻辑里。
假设你原先的代码逻辑是这样:
现在需要将get_from_db改成这样