您好,匿名用户
随意问技术百科期待您的加入

flask使用redis做缓存的话,怎么和数据库同步或者定期更新到数据库?

0 投票

打算用redis来做缓存,但是之前没弄过类似的东西,有个疑惑就是用什么东西来让redis里的数据更新到mysql或者sqlite数据库中去呢?
是需要自己写脚本定期执行更新?还是redis能自带一些功能?

我打算每10分钟或者一定的时间内,或者每天固定的时候比如半夜2点,把redis的数据更新到mysql或者sqlite中。 有什么简单的办法嘛。

用户头像 提问 2013年 9月21日 @ hacker 上等兵 (362 威望)
分享到:

1个回答

+1 投票
 
最佳答案

对于你的情况,如果你可以接受定期从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;
}
用户头像 回复 2013年 9月21日 @ Karma 上等兵 (229 威望)
选中 2013年 9月7日 @hacker
提一个问题:

相关问题

0 投票
1 回复 42 阅读
用户头像 提问 2013年 11月15日 @ Ares 上等兵 (353 威望)
0 投票
1 回复 70 阅读
0 投票
1 回复 55 阅读
用户头像 提问 2012年 12月1日 @ Hades 上等兵 (152 威望)
+2 投票
1 回复 55 阅读
0 投票
0 回复 21 阅读
用户头像 提问 2013年 11月15日 @ Twitch 上等兵 (260 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...