Memcache、Redis、Apc 和 MongoDB 的主要特点

Memcache

memcache 是一种高性能的、分布式的内存数据库。

memcache 缓存将数据存放在分布式的 memcache 缓存服务器的内存中,memcache 是多台 web 服务器最快的缓存介质。

必须先安装 memcache 服务器 和 php 的 memcache 扩展。

数据的保存位置:memcache 服务器 管理的内存中,可配置多个 memcache 服务器。

作用域:对多台 web 服务器中的项目都有效(必须作好 key 的区分,可以用前缀来区分)。

Memcache 的缺点是:

  • 只支持 string 数据类型,数据类型太单一。
  • 不支持持久化,数据不能自动备份,重启后,数据就会丢失。

Redis

Redis 也是一种内存数据库,它的功能比 Memcache 更强大。Redis 是单线程的。

必须安装 Redis 服务器和 PHP 的 Redis 扩展。

Redis 支持多种数据类型:string(字符串)、list(链表)、hash(哈希)、set(无序集合)、zset(有序集合)。

Redis 支持两种持久化的机制:

  • snapshotting(内存快照),默认方式
  • append-only file(日志追加,缩写为aof)

Apc

Apc 的全称是 Alternative PHP Cache,也可用于数据缓存。

必须先安装 php 的 apc 扩展。

Apc 缓存将数据存放在共享内存块中,它是单台服务器最快的缓存介质。

数据的保存位置:当前 web 服务器的共享内存块中。

作用域:对当前 web 服务器中的所有项目都有效(如果单台 web 服务器上有多个项目,必须作好 key 的区分,以防止数据被覆盖)。

MongoDB

MongoDB 是一种分布式的、基于文件存储的数据库。

MongoDB 旨在为 WEB 应用提供可扩展的高性能的数据存储解决方案。

MongoDB 将数据存储为一个文档,数据结构由键值对(key=>value)组成。MongoDB 文档类似于 json 对象,字段值可以包含其他文档、数组和文档数组。

MongoDB 是非关系数据库当中功能最丰富,最像关系数据库的。

在以下场景中,可以使用 MongoDB 来存储数据。

  • 无事务要求
  • 复杂的 JOIN 操作
  • 数据模型无法确定
  • TB 级别的数据存储
  • 地理位置查询
  • 杂乱的信息

MongoDB 常常被用来存储应用日志、评论信息、商家的信息(包含地理位置信息)、礼物信息。

猜你喜欢

转载自blog.csdn.net/lamp_yang_3533/article/details/80602531