我开发的网站是类似 youtube 的网站,网站打算使用 redis 主从+mysql 主从方式。
大概的结构思路是这样的。
1.1
用户-->读--->redis 从--->(存在返回结果|结束|,不存在返回 0|继续下一步|)--->读 Mysql
从--->(存在返回结果并写入redis,不存在返回 0 ,结束)
1.2
用户-->写--->写 Mysql 主--->写 redis
主--->结束。(其实我希望直接写入到redis主中,然后再同步到MySQL主中,但是不知道有什么稳定成熟一点的方案,能使Redis主和Mysql主实时同步。)
大家看我这种设计方法可行不,有什么弊端和建议。
视频点击量以及顶踩等热数据直接写入 redis主 ,一天 crontab 一次到 mysql 里备份。 (定时同步,除了crontab + ( phpcli || shell.sh ) 还有什么更好的方案吗?)
在此谢谢诸位,小弟第一次过来。
我开发的网站是类似 youtube 的网站,网站打算使用 redis 主从+mysql 主从方式。
大概的结构思路是这样的。
1.1
用户-->读--->redis 从--->(存在返回结果|结束|,不存在返回 0|继续下一步|)--->读 Mysql
从--->(存在返回结果并写入redis,不存在返回 0 ,结束)
1.2
用户-->写--->写 Mysql 主--->写 redis
主--->结束。(其实我希望直接写入到redis主中,然后再同步到MySQL主中,但是不知道有什么稳定成熟一点的方案,能使Redis主和Mysql主实时同步。)
大家看我这种设计方法可行不,有什么弊端和建议。
视频点击量以及顶踩等热数据直接写入 redis主 ,一天 crontab 一次到 mysql 里备份。 (定时同步,除了crontab + ( phpcli || shell.sh ) 还有什么更好的方案吗?)
在此谢谢诸位,小弟第一次过来。
你的设计方法没有问题,有一些数据库产品是可以屏蔽存储之间的差异,但是引入新的一个层,意味着额外的维护成本。
至于热数据同步到mysql备份的问题,可以在代码里面实现,例如视频点击量达到1W,2W这样的节点,就同步更新下mysql的数据。