redis,又一个key-value数据库,有些很有意思的特性,刚好是memcached没有,但在很多尤其是sns应用所需要的:
1。数据被cache在memory,但也会异步更新到disk,来做持久化,这样有快,又有持久化能力,当然如果突然crash了,会有部分数据来不及更新到disk,在app里面的很多应用场景是能容忍的。
2。支持更多的数据类型,memcached可以说只支持string类型数据,我们具体使用是序列化后存入memcached,redis不尽支持string,还支持list,set这些类型,redis官方说法是,redis是一个remote structure server。而且对list和set的操作都是o(1)的,想想我们很多app里面都有什么消息/公告啊,很适合放在list里面,但如果用memcached,就需要对一个list整体操作。
3。支持replication。
真的很适合social game使用。