标签:并且 主从 memcache 连接 strong 可靠 分布式 简单的 基于
特点:由多台机器组装起来的基于内存存储的集群。基于key-value存储数据结构
2.redis:redis是一个非关系型的数据库,但是他担不起数据库的任务,打个比方你就能够明白,因为redis是存储在内存中的,当你的产品拥有1万人是在活跃状态,还有5万人非活跃状态,那么这个5万人的信息也将加载在我们的内存中,每一次备份的时候还是备份6万人的操作信息,这样他的缺点是不是很明显了。
3.分布式缓存技术选取的介绍:先列出市面上常见的一些用来作为缓存的技术redis,memcache,mongoDB,一些关系型数据库实现高效的查询效率是不可能实现的我们可以排除了它。对于mongoDB我们也应该排除他,他是一个NoSql的产品,他只是能过存储大量的数据,具备着大量数据快速查询功能,不适宜做缓存
分析memcache:
memcache是一个高性能的分布式内存对象缓存系统,用于在web服务中减轻数据库服务的负担。它通过在内存中存储数据和对象来减少对数据库的访问的次数,从而提高web服务的效率
memcache缓存的执行过程:
1.接受用户的请求:到memcache去查找信息如果信息存在则执行2返回到客户端,不再去访问数据库,如果不存在则执行3从数据库中去查找过后返回到客户端,并且保存数据
重要的一点是要保存数据的”新鲜性“ 当数据进行了修改操作我们应该对 对应的缓存区域进行清空
注意点:memcache是一个完全在内存中的缓存,他没有序列化的操作,当系统重启的时候数据就会丢失,如果你的需求要保存信息这个无法实现。
分析redis:
redis是一个key-value存储系统,和memcache相识,它支持的value多种存储数据类型 String(字符串),set(集合),list(链表),zset(有序集合),hash(散列结构) 。 并且增删 改这些操作都是原子性的,因此我们在高并发下的没别要去考虑数据的错乱。在此基础上redis还支持各种排序,与memcache一样为了保证效率把数据的存放在内存上,区 别是redis他将会周期性的把数据追加到磁盘上或者把修改的操作记录在日志上,并在此基础上实现了主从同步
redis通常把数据存放在内存,他有一个很重要的特点就是实现数据持久化将内存中的数据不断的写入磁盘(rdb);AOF日志方式,记录每次更新的日志。前者性能较高,但是 可能会引起一定程度的数据丢失;后者相反。 Redis支持将数据同步到多台从数据库上,这种特性对提高读取性能非常有益。
综合的说说他们
memcache和Redis都能很好的满足解决我们的问题,它们的性能都很高,总体来说我们可以把redis当作memcache的升级,加重的实现
需要慎重考虑的部分
标签:并且 主从 memcache 连接 strong 可靠 分布式 简单的 基于
原文地址:http://www.cnblogs.com/youer66/p/7896322.html