Redis和Memcache有什么区别?Python基础
Redis和Memcache的区别?Redis即远程字典服务,是一个开源的使用ANSI C语言编写的、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,提供多种语言的API;Memcache是一套分布式的高速缓存系统,被许多网站使用,接下来我们一起来看看更详细的内容介绍。
1. Redis和Memcache都是将数据存放在内存中,都是内存数据库,不过Memcache还可以用于缓存其他东西,比如图片、视频等;
2. Redis不仅仅支持简单的K/V类型的数据,同时还提供list、set、hash等数据结构的存储;
3. 虚拟内存-Redis当物流内存用完时,可以将一些很久的没用的Value交换到磁盘;
4. 过期策略-Memcache在set时就指定,比如set key 1008,即永不过期,Redis可以通过例如expire设定,例如expire name10;
5. 分布式-设定Memcache集群,利用magent做一主多从,redis可以做一主多从,都可以一主一从;
6. 存储数据安全-Memcache挂掉后,数据没了,redis可以定期保存到磁盘;
7. 灾难恢复-Memcache挂掉后,数据不可恢复,redis数据丢失后可以通过aof恢复;
8. Redis支持数据的备份,即master-slave模式的数据备份;
9. 应用场景不一样,Redis除了作为nosql数据库使用外,还能用做消息队列,数据堆栈和数据缓存等;Memcache适合于缓存sql语句,数据集,用户临时性数据,延迟查询数据和session等;
10. 如果有持久化方面的需求或者对数据类型和处理有要求的应该选择Redis;如果简单的key/value存储应该选择Memcache。