Redis 中的数据需不需要持久化到 DB 中?

2015-08-31 12:10:54 +08:00
 tonghuashuai
举个例子:

文章信息 id, title, content 存在 DB (例如 MySQL )中,文章的查看次数存在 redis 中(例如 有序集合,文章 id 作为 key ,查看次数作为 score ),然后定期 持久化到 dump 文件中。这是目前用法。

然后呢,前几天看了一篇文章的做法是:
在文章信息表中加一个查看次数字段(比如: view_count ),然后定期( crontab )同步 redis 中的查看次数到这个字段中。

先问一下有没有必要这样呢?
7294 次点击
所在节点    Redis
14 条回复
wingoo
2015-08-31 12:13:20 +08:00
你觉得这个信息重不重要,
大都是把 redis 当作 cache 使用, 既然是 cache, 就还需要其他的存储
如果你把 redis 当作存储使用, 那就没关系
oott123
2015-08-31 12:17:16 +08:00
你不设置 TTL 然后用 redis 当数据库不就不用手动持久化了么…
tshwangq
2015-08-31 12:41:56 +08:00
你没多少量的话,全部放在 redis 中,把 redis 做数据库也挺好。速度快。
太大量了,平衡 性价比在考虑是否要放到 mysql
cnhongwei
2015-08-31 12:44:38 +08:00
redis 是数据库,不只是 cache 。不知道你看一个这文章的环境是怎么样的?不放心 redis ,怕丢数据?不放心运维,不能正常保证 redis 正常运行?还是想放到 sql 数据库中做数据分析?
如果是前两种,那你怎么不担心 mysql ,还使用 redis 做什么?不放心还要放数据到 redis 。
tigerstudent
2015-08-31 12:46:31 +08:00
楼上貌似都没看楼主的主题内容。。
9hills
2015-08-31 13:16:22 +08:00
有,容错更好,分析数据更方便
cnhongwei
2015-08-31 13:30:26 +08:00
@tigerstudent 当然看了他的内容, redis 能持久化,为什么非要同步回 mysql ?而且集中同步对数据库压力也大,容易锁表。你要同步,总得有个理由或所谓的需求。我想没有人会说:因为我看了一个文章说脱了裤子放屁好,所以我也一定要脱了裤子放屁。当然可以也应在论坛上讨论一下到底好不好。

最后的观点就是,根本没有必要。就算是分析数据,一般也会有分析数据库,同步到那里更好。
chenwen
2015-08-31 13:32:37 +08:00
是我记错了么,我记得 redis 稍微配置下是可以持久化的吧
ccbikai
2015-08-31 13:42:23 +08:00
原来公司的架构,直接把 MySQL 数据往 Redis 全部存了一份。。。
hildert
2015-08-31 14:26:19 +08:00
我个人观点:
如果单纯为了数据备份,完全没必要。 redis 本身有持久化机制,写一个 crontab 定时备份数据文件就可以保证数据安全。
如果是业务需要, MySQL 那边需要有一份,那就另当别论了。
tigerstudent
2015-08-31 14:39:10 +08:00
@cnhongwei 嗯。。是我回复时还没看到你的回复……

redis 自身是可以持久化的
akira
2015-08-31 14:53:22 +08:00
看你怎么用 redis 了啊。如果你 redis 服务重启 /迁移的时候,不需要从数据库恢复数据,那当然不是必要了。
不过,从长远的角度来说,还是在数据库里面保存一份比较好。所有的数据应当尽量可以从某一个点完整获得。
Comdex
2015-08-31 15:21:53 +08:00
文章查看次数字段存在 redis 和存在 mysql 相比有什么好处?
msg7086
2015-09-01 06:02:05 +08:00
写一个 crontab 定时备份数据文件才叫多此一举吧。

mysql 好歹有权限控制, redis 的话你登录进去 flush 一下就呵呵了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/217278

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX