作者的原文链接:http://huoding.com/2012/02/29/146
redis初学者,轻喷,下面可能很多错误,是我的大致理解:
他首先创建一个需要收到消息的用户的队列
再创建了一个有消息重要等级消息队列
然后创建了一个用户id和消息id关联的队列
然后他用redis命令行做演示:
首先创建了一个消息的hash表
然后创建了类似于上面的用户id和消息id关联的集合
最后通过SORT模拟关联查询渠道消息内容
但是这些内容我用PHP数组+mysql也能实现啊?
为什么要用redis呢?
到底优势在哪里呢?
为什么redis适合于这样的场景呢?
消息发送完毕之后又如何做持久化存储呢?
说明的越详细越好,谢谢了。
ringa_lee2017-04-21 11:18:45
你用MYSQL当然也可以实现,但是
1.数据操作上,redis(应该是NOSQL)就是比常规的MYSQL快。因为MYSQL处理数据要经过很多过程,比如SQL解析等等
2.redis支持多种数据结构,比如文中提到的有序集zSet,列表list.一个软件原生就提供了,你不用自己去实现这些数据结构,节约你的时间。
3.Redis本身支持持久化存储,要是担心丢失,那就备份一个到MYSQL里.
4...其他的自己慢慢体会,最好边用边琢磨
PHPz2017-04-21 11:18:45
数据库的选择要和你的需求挂钩,如果你的消息推送每条就几百几千条,用redis的优势的确看不到,但如果推送消息数到了百万级、千万级时,redis的优势就会很明显。
同样是排序,冒泡和快排的差距是如何体现出来的呢?算法和数据结构在输入规模很大的情况下,其意义就会体现出来了。
关于redis的一切,就去google吧