以下内容为个人理解所得,如要转载,请标明出处:

像项目中首页的大广告和商品类目这些不需要经常修改的数据,如果用户每次刷新页面的时候都要去数据库中查询,这样会浪费资源和增加数据库的压力

所以我们想当把这些数据添加到一个缓存中,用户去访问的时候,先去缓存中查找,如果命中失败,再去数据库中查询,然后把查询到的数据添加到缓存中。

目前比较主流的缓存技术有RedisMemcached,单纯从缓存命中的角度来说,Memcached要高一些,可Redis和Memcache的差距其实并不大,但Redis提供的功能更加强大一些,读写速度也很快。所以我们选用了Redis来缓存数据。
redis把数据以key—value的形式缓存到内存中,并提供了多种数据存储类型(String、Hash、list、Set、SortedSet),还自身提供了持久化功能(2种:RDB、AOF),还可以把数据备份到磁盘中(redis的SAVE命令用于创建当前 redis数据库的备份),防止redis宕机时的数据丢失。(会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步)。

1,存储方式不同

memecache 把数据全部存在内存之中,数据不能超过内存大小;

redis有部份存在硬盘上,这样能保证数据的持久性,支持数据的持久化

2,数据支持类型不同

Redis支持的数据类型比memcache多的多

Redis支持的数据类型: String、Hash、list,数组,集合

Memcache仅仅支持简单数据类型 ,复杂数据类型需要应用自己处理

他们都是以key-value的类型存储数据

3.为什么redis Memcached要快?

Memcached  完全基于内存,而Redis 具有持久化保存特性,即使是异步的,Redis 也不可能比Memcached 快。

Memcached底层用的是Libevent,Redis并没有选择Libevent 。Libevent 为了迎合通用性,使得他的底层代码庞大而Redis的底层代码还不到libevent的1/3 ,

但是也牺牲了redis通用性,现在在redis的官网上,他说明了redis只能在Liuse上使用。

CAS 问题。CAS 是Memcached 中比较方便的一种防止竞争修改资源的方法。CAS 实现需要为每个cache key设置一个隐藏的cas token ,

cas 相当value 版本号,每次settoken 需要递增,因此带来CPU和内存的双重开销,虽然这些开销很小,

转载于:https://www.cnblogs.com/lowbi/p/10947271.html

MemCache与redis相关推荐

  1. PHP面试常考内容之Memcache和Redis(2)

    你好,是我琉忆. 继周一(2019.2-18)发布的"PHP面试常考内容之Memcache和Redis(1)"后,这是第二篇,感谢你的支持和阅读. 本周(2019.2-18至2-2 ...

  2. memcache和redis对比

    1.redis可以持久化,memcache不具备此功能,重启后数据丢失 2.memcache和redis在性能相比,memcached性能要高一些,并且支持多核,redis只搞单核,不过总的来说,在性 ...

  3. 三大缓存框架ehcache、memcache和redis的介绍

    三大缓存框架ehcache.memcache和redis的介绍 2016-04-12 架构说 4964 阅读 最近项目组有用到这三个缓存,去各自的官方看了下,觉得还真的各有千秋!今天特意归纳下各个缓存 ...

  4. php多选批量修改数据库数据类型有哪些_php面试题之memcache和redis的区别

    这篇文章介绍的内容是关于php面试题六之memcache和redis的区别,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 Memcache和Redis区别: * Redis中,并不是所 ...

  5. 浅析Memcache和Redis

    想必开发的小伙伴们对Memcache和Redis都不陌生吧,最近正好在整理它们,于是就写一下博客吧!一方面是分享,另一方面便于自己查找. 首先,来说说Memcache和Redis是什么? 说得简单一点 ...

  6. memcache、Redis与MongoDB的学习-1

    除此接触这三个词的概念,对今天看的资料最了一些整理. 之前经常有看到memcache.Redis与MongoDB相关的数据库,最开始意味这些都只是用来做数据库优化的缓存工具,后来具体看了一些资料之后才 ...

  7. 设计模式之PHP项目应用——单例模式设计Memcache和Redis操作类

    1 单例模式简单介绍 单例模式是一种经常使用的软件设计模式. 在它的核心结构中仅仅包括一个被称为单例类的特殊类. 通过单例模式能够保证系统中一个类仅仅有一个实例并且该实例易于外界訪问.从而方便对实例个 ...

  8. 网站缓存技术总结( ehcache、memcache、redis对比)

    网站技术高速发展的今天,缓存技术已经成为大型网站的一个关键技术,缓存设计好坏直接关系的一个网站访问的速度,以及购置服务器的数量,甚至影响到用户的体验. 网站缓存按照存放的地点不同,可以分为客户端缓存. ...

  9. Ehcache、memcache、redis三大缓存区别

    Ehcache.memcache.redis三大缓存区别 最近项目组有用到这三个缓存,去各自的官方看了下,觉得还真的各有千秋!今天特意归纳下各个缓存的优缺点,仅供参考! Ehcache 在java项目 ...

  10. 一种基于memcache或redis缓存架构的验证码

    本文出处:http://blog.csdn.net/chaijunkun/article/details/8996794,转载请注明.由于本人不定期会整理相关博文,会对相应内容作出完善.因此强烈建议在 ...

最新文章

  1. Java那些事之多线程
  2. 音频的音量检测java实现_免费剪切和合并音频,小白必读
  3. RabbitMQ学习之Routing(4)
  4. VS中lib和dll
  5. java activity生命周_关于Activity的生命周期和任务栈的理解
  6. 南海区妇幼保健院HIS数据容灾备份系统项目
  7. 基于软件界面的汽车故障模拟系统
  8. 快速学习Grasshopper的方法
  9. JS中对象按属性排序(冒泡排序)
  10. TortoiseSVN教程级别指南
  11. TIL —静态工厂方法
  12. Java实验——定义一个类,该类中包含以下几个方法(静态):实现两个字符串数组的逆序排序,输出结果为字符串数组;求两个整形数组的交集;求两个浮点型数组的并集;
  13. virtualbox安装虚拟机后,虚拟机不显示ip问题
  14. 西门子PLCS7-200使用(一)---开发环境和组态软件入门
  15. SSL-ZYC 2547 圆环
  16. 程序员的性格是怎么产生的?
  17. 潍坊学院c语言试卷,潍坊学院《C语言程序设计》课程(0212002)实验大纲.
  18. MOOC网神经网络与深度学习TensorFlow实践8——卷积神经网络
  19. 标准的字根输入法设想
  20. 网上体育用品商城(ssm,mysql)

热门文章

  1. 在html中制作多彩照片墙,60个照片墙布置方案 记录浪漫时刻
  2. origin将柱状图和折线图画一起
  3. Php-fpm没生成sock,PHP-FPM无法生成.sock文件
  4. 初入职场着装宝典(BOY)
  5. DataSet-如何优雅使用DataSet,看完此篇文章完全理解C7N/choerodon/猪齿鱼 UI中的DataSet
  6. QQ群排名霸屏技术居然是这样简单
  7. android 自定义相机 黑屏,Android自定义照相机Camera出现黑屏的解决方法
  8. TEXT到EPUB格式转换
  9. Python模拟轮盘抽奖游戏
  10. uva10098--排列