论如何用 redis 打造一个优雅的计数系统

2015-09-09 11:07:27 +08:00
 snailsir

如题,想听听大家都怎么搞的,有 demo 更好, php 最好 :)

哦,当然会有 mysql

8140 次点击
所在节点    Redis
36 条回复
snailsir
2015-09-09 13:35:48 +08:00
@tms 对,我想说的前面展示大概就是这样子的。

这里就只用了 redis ,没有将数据存到 mysql 里吗?

这样的话,一个网站的数据不就分成了两份东西了吗
iyaozhen
2015-09-09 13:45:04 +08:00
@snailsir 分成多份了没啥问题呀。还保险些。你要存进 MySQL 的话就一个小时存一次呗。
snailsir
2015-09-09 14:43:01 +08:00
@a398058068 文章很好,说了很多 redis 的应用方面,但是
snailsir
2015-09-09 14:44:52 +08:00
@iyaozhen 我就觉得很分散是因为备份的话,感觉会比较费劲,万一漏了。。。。。

一小时一次指的就是 crontab 定时脚本喽
wingoo
2015-09-09 14:47:32 +08:00
1. 累计此次定时同步, 比如 10 的倍数存一次, 具体多少要看你的量
2. cronjob
phx13ye
2015-09-09 17:08:08 +08:00
scheduler 执行程序

c = redisClient.get ("foo_count")
mysqlClient.execute ("UPDATE SET count = ? WHERE name = foo", c )
msg7086
2015-09-10 03:30:23 +08:00
@iyangyuan 被谁随便连上了 flush 一下就好看了。
snailsir
2015-09-10 09:32:52 +08:00
@wingoo

1. 是用定时任务检测值,比如符合 10 的倍数就存到数据库,不符合就不存?
2. cronjob 不是 crontab 吗?
snailsir
2015-09-10 09:36:46 +08:00
@phx13ye scheduler 是什么? 下面的示例我可以理解为

一个 php 脚本,先执行 从 redis 的读取,然后再将值更新到 mysql 中?

这样的话,我大概就很明白了 :)
snailsir
2015-09-10 09:39:21 +08:00
@msg7086

????
phx13ye
2015-09-10 09:39:35 +08:00
@snailsir 你程序里的定时任务调度器,你也可以用 cron+bash 脚本
snailsir
2015-09-10 09:41:29 +08:00
@phx13ye 哦,了解了。谢谢啊 :)
msg7086
2015-09-10 09:50:07 +08:00
@snailsir 我回的 13 楼。
wingoo
2015-09-10 10:33:59 +08:00
@snailsir
1. 不是, 是你程序中进行 redis 累加之后, 立即判断当前的值
2.是 crontab, 需要写个脚本
snailsir
2015-09-10 11:31:06 +08:00
@wingoo 哦,那么
1. 立即判断当前值,符合条件时然后往 mysql 里搞吗? 那还要 2 的定时任务做什么呢
wingoo
2015-09-10 12:47:42 +08:00
@snailsir 2 种方案

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

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

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

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

© 2021 V2EX