Python教程分享:Redis和Memcache的区别?
老男孩IT教育
常见问题
2021年5月20日 15:38
Redis和Memcache的区别?Redis即远程字典服务,是一个开源的使用ANSI C语言编写的、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,提供多种语言的API;Memcache是一套分布式的高速缓存系统,被许多网站使用,接下来我们一起来看看更详细的内容介绍。
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。
好了,今天的内容就介绍这么多了,如果你想要学习或者了解Python课程,可以关注我们的“Python开发+AI工程师”课程。
推荐阅读:
