1. 首先谈谈Redis和Memcached它们都是缓存在内存中的,唯一的区别就是Redis它本身会周期性的把 更新的一些数据写入到磁盘或者修改操作写入追加的记录文件中,并且在此基础上实现master-slave主从同步
  2. 至于在性能方面Redis是高性能的key-value内存数据库。经过官方性能测试结果:set操作每秒110000次,get操作每秒81000次
  3. Redis它本身支持的数据类型相对较多,包括string、list、set(集合)、zset(有序集合)。
  4. Redis的数据持久性主要是有快照和AOF日志两种持久方式,在实际应用的时候,一定要注意配置文件快照的参数,防止频繁做dump。
  5. Memcached是高性能的分布式内存缓存服务器,通过缓存数据库查询结果,减少数据库的访问次数,来提高动态Web等应用的速度、提高可扩展性。
    1. Memcached作为分布式缓存服务器的特点:

      • 协议简单
      • 基于libvent的事件处理
      • 内置内存存储方式
      • memcached不互相通信的分布式
    2. Memcached默认的支持最大的存储对象为1M。这个值是由其内存分配机制决定的。(它默认采用Slab Allocator的机制分配、管理内存。)
    3. Memcached set数据的时候是默认压缩的
    4. 适合Memcached的业务场景:
      1. 站点访问量非常大的动态网页。因为大部分 数据请求都是读操作那么memcached能够有效地减小数据库的负载。
      2. 假设数据库server的负载比较低但CPU使用率非常高,这时能够缓存计算好的结果( computed objects )和渲染后的网页模板(enderred templates)。
      3. 缓存一些非常小可是频繁访问的文件。
    5. Memcached能够接受最大的key的最大长度为250个字符
  6. Redis 
    1. Redis作为高性能的key-value数据库具有以下特征
      1. 多样化
      2. 持久性
      3. 主从同步
    2. Redis支持丰富的数据类型常见主要有五种:String、Hash、List、Set和Sorted Set。Redis通常将数据存储于内存中,或被配置为使用虚拟内存。Redis有一个很重要的特点就是它可以实现持久化数据,通过两种方式可以实现数据持久化:使用RDB快照的方式,将内存中的数据不断写入磁盘;或使用类似MySQL的AOF日志方式,记录每次更新的日志。前者性能较高,但是可能会引起一定程度的数据丢失;后者相反。 Redis支持将数据同步到多台从数据库上,这种特性对提高读取性能非常有益。
  7. 慎重注意的地方
    1. Memcached单个key-value大小有限,一个value最大只支持1MB,而Redis最大支持512MB
    2. Memcached只是内存缓存,对可靠性无太大要求,而Redis更倾向于内存数据库,因此可靠性方面要求高
    3. 从本质上讲Memcached只是单一的key-value内存Cache,而Redis是数据结构内存数据库,支持五种数据类型,因此Redis出了单纯缓存以外,还可以处理一些简单的逻辑,而且也可以作为数据库使用
    4. 新版本(3.0)的Redis是指集群分布式,也就是说集群本身均衡客户端请求,各个节点可以交流,可拓展行、可维护性更强大。

      

Redsi和Memcached区别总结的更多相关文章

  1. php扩展memcache和memcached区别?以及memcached软件的介绍

    引用“http://www.vicenteforever.com/2012/03/memcache-different-memcached/” memcached是一个软件,而PHP包括了memcac ...

  2. 白话Redis与Memcached区别

    如果简单地比较Redis与Memcached的区别,外在的区别是: 1  Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储. 2  Redis ...

  3. Redis和Memcached区别

    本文参考 Redis与Memcached的区别. 如果简单地比较Redis与Memcached的区别,大多数都会得到以下观点: Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set, ...

  4. memcache 和 memcached 区别

    区别用一句话表达:Memcached (字母d可以理解为daemon)是一个服务(运行在服务器上的程序,监听某个端口),Memcache 是 一套访问Memcached的api. memcache客户 ...

  5. Redis(Windows安装方法与Java调用实例 & 配置文件参数说明 & Java使用Redis所用Jar包 & Redis与Memcached区别 & redis-cli.exe命令及示例)

    Windows下Redis的安装使用 0.前言 因为是初次使用,所以是在windows下进行安装和使用,参考了几篇博客,下面整理一下 1.安装Redis 官方网站:http://redis.io/ 官 ...

  6. redis与memcached区别

    不同点: (1) redis中并不是所有数据在有效期内只能常驻内存的(如果需要,可定期同步持久化到磁盘),这是和memcached相比一个最大的区别(memcached中的数据在有效期内是以键值对的形 ...

  7. memcache memcached 区别

    .目前大多数php环境里使用的都是不带d的memcache版本,这个版本出的比较早,是一个原生版本,完全在php框架内开发的.与之对应的带d的memcached是建立在libmemcached的基础上 ...

  8. php模块memcache和memcached区别分析

    zm总结:尽量使用memcached就好了 1.目前大多数php环境里使用的都是不带d的memcache版本,这个版本出的比较早,是一个原生版本,完全在php框架内开发的.与之对应的带d的memcac ...

  9. Redis和memcached区别须知

    1.支持的数据类型不同(memcached只支持简单的key-value的数据类型,Redis支持5种数据类型(1.string,2.list,3.set,4.zset,5.hash)) 2.redi ...

随机推荐

  1. Selenium+python 配置

    1. 安装python, www.python.org. 下载最新的python,应该是32位的.注意配置环境变量. 2. 安装PIP(pip是一个以Python计算机程序语言写成的软件包管理系统). ...

  2. win tomcat

    D:\tomcat8080\binstartup.bat rem ------------------------------------------------------------------- ...

  3. 轮播插件unsilder 源码解析(一)---源码解析

    jq扩展内容 $.fn.unslider = function(opts) { return this.each(function(index,elem) { var $this = $(elem); ...

  4. 深入分析HTTP状态码502(nginx+php-fpm)

    我们的一个web项目,由于新上城市增多,导致访问量增大,DB压力增大,作为提供接口的业务方,最近被下游反馈大量请求"502". 502,bad gateway,一般都是upstre ...

  5. MongoDB【第二篇】MongoDB逻辑与物理存储结构

    基本的操作 一.常用的命令和基础知识 1.进入MongoDB sehll 首先我们进入到MongoDB所在目录执行 cd /work/app/mongodb/bin/ #启动 ./mongo 为了方便 ...

  6. Event Loop个人理解

    javascript引擎单线程程序,其执行同步操作会按顺序向下执行,执行异步操作则使用事件循环模型. js引擎线程遇到异步操作,会将异步操作交给对应的观察者, 异步操作包括: dom事件 click, ...

  7. 2.3.0-alpha1 is too old 解决办法

    放个周末,一来就遇到一个奇葩的问题,"Error:(1, 0) The android gradle plugin version 2.3.0-alpha1 is too old, plea ...

  8. Notepad++源码编译及其分析

    Notepad++是一个小巧精悍的编辑器,其使用方法我就不多说了,由于notepad++是使用c++封装的windows句柄以及api来实现的,因此对于其源码的研究有助于学习如何封装自己简单的库(当然 ...

  9. nginx 反代理google

    ./configure \ --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/n ...

  10. canvas的save与restore方法的作用

    网上搜罗了一堆资料,最后总结一下. save:用来保存Canvas的状态.save之后,可以调用Canvas的平移.放缩.旋转.错切.裁剪等操作. restore:用来恢复Canvas之前保存的状态. ...