redis是目前在NoSQL贵妃鸡Chili Pepper领域,它就像一把瑞士军刀,小,锋利实用,特别是对传统的关系型数据库来
解决一些困难问题。但是redis是不是银弹,而且有很多要解决的问题,但有有很多的问题都不适合。此外,Redis作为一个
内存数据库,如果用在不适合的
情况下,对内存的消耗是相当大的,甚至使
系统难以承受。
我们可以用系统将数据存储在两种
分类方式中,一种是根据数据的大小分为小的、大的数据和数据,另一种是基于数据的冷度划分,分为热数据和冷热数据,数据指的是读写数据更频繁,否则就是冷数据。
一些具体的例子可以用来说明数据和冷、热
属性的大小。例如,
网站的
注册用户总数显然是一个小的热数据,因为数据是唯一的价值,因为注册用户数随时间的变化而变化。例如,最新的数据存取时间的用户,这是一个比较大的量,不均匀的数据,大数据粒度的用户级别,每个用户的数据,如果有一千万个用户,一千万的数据冷热不均由于最近访问时间,活跃用户的变化非常频繁,但也有可能是非活跃用户访问时间长时间大一部分是不会改变的。
总的来说,Redis是最适合小热,并
经常写或读写更频繁的热数据。大和热数据,如果其他
方法都很难解决,我们也可以考虑使用Redis来解决它,但我们必须防止数据无止境地扩张非常谨慎。
原因如下:
首先,冷数据,无论大小,都不
推荐使用。redis数据必须放在内存和资源是有价值的。把冷数据放在里面是一种浪费。冷数据放在公共存储中,如关系数据库。
其次,对于热数据,特别是频繁的热数据,如果量小,非常适合投入使用。例如,上面提到的网站的注册用户总数是一个典型的Redis作为计数器的实例。例如,论坛的最新发布的
排行榜,最新的注册列表,可以从几百到一千
控制规模。这也是一个典型的方式来使用redis作出的最新列表。
此外,大量的热数据(或冷和热平衡数据),Redis的使用必须更加谨慎。这种
类型的数据可以很容易地导致数据膨胀,导致Redis消耗巨大的内存和使系统难以承受。一个痛苦的教训:薄荷是把用户的注意力(和关注)数据在redis,这是一个巨大的数据量,这是非常炎热和不平衡。它占据在用户级百万近10 GB的内存,Redis本身很难
处理。处理这种类型的数据可以用在普通存储+缓存。
如果你使用了
正确的地方,例如,在小和热数据的情况下,使用
性能良好。如果你用错了地方,Redis会带来高价格,所以使用的时候要小心。