您的位置:首页 > 数据库 > Memcache

redis,mysql,memcache的区别与比较,redis两种数据存储持久化方式

2017-02-11 22:50 816 查看
http://wenda.so.com/q/1464066157721147?src=140

http://www.cnblogs.com/tyyf/p/5505269.html

http://blog.csdn.net/weiwenjuan0923/article/details/52665239

redis与mysql比较

区别:mysql中一个中小型的网络数据库,比oracle和sqlserver小, 但是并发能力远超过acess这样的桌面数据库;redis是一个内存键值数据库,支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。redis比mysql简化很多。

联系:mysql支持集群。现在大量的软件使用redis作为mysql在本地的数据库缓存,然后再适当的时候和mysql同步。

redis和memcache的比较

1、性能上:没有必要过于关注性能,因为二者的性能都已经足够高了。由于Redis只使用单核,而Memcached可以使用多核,所以二者比较起来,平均每一个核上,Redis在存储小数据时比Memcached性能更高。而在100k以上的数据中,Memcached性能要高于Redis。虽然Redis最近也在存储大数据的性能上进行优化,但是比起Memcached,还是稍有逊色。说了这么多,结论是,无论你使用哪一个,每秒处理请求的次数都不会成为瓶颈。

2、 内存使用率上:如果使用简单的key-value存储,Memcached的内存利用率更高。而如果Redis采用hash结构来做key-value存储,由于其组合式的压缩,其内存利用率会高于Memcached。当然,这和你的应用场景和数据特性有关。如果你对数据持久化和数据同步有所要求,那么推荐你选择Redis。因为这两个特性Memcached都不具备。即使你只是希望在升级或者重启系统后缓存数据不会丢失,选择Redis也是明智的。

3、应用需求上:Redis相比Memcached来说,拥有更多的数据结构,并支持更丰富的数据操作。通常在Memcached里,你需要将数据拿到客户端来进行类似的修改再set回去。这大大增加了网络IO的次数和数据体积。在Redis中,这些复杂的操作通常和一般的GET/SET一样高效。所以,如果你需要缓存能够支持更复杂的结构和操作,那么Redis会是不错的选择。

总之,redis和memcahe都支持key-value存储,但用redis,可使数据持久化,且redis支持的数据类型丰富

redis两种数据存储持久化方式

1、Snapshotting即快照方式:在一定间隔时间做一次的,所以如果redis意外down掉的话,就会丢失最后一次快照后的所有修改。

2、aof方式是以日志的方式来存储数据,即它将记录每次对于redis的操作,每一次操作都有一条相应的记录,因此aof方式产生的文件比snapshot方式要大。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: