memcached 适用的场景

最近在看 memcached  的公共课,发现memcache的确是个好东西,可以显著地减小数据库负载,当然我们要搞清楚,任何一样技术都有它的优缺点,

在使用它的时候,搞清楚它的适用场景,才能扬长避短,发挥最大的作用。

适用memcached的业务场景:

1)如果网站包含了访问量很大的动态网页,因而数据库的负载将会很高。由于大部分数据库请求都是读操作,那么memcached可以显著地减小数据库负载。

2)如果数据库服务器的负载比较低但CPU使用率很高,这时可以缓存计算好的结果( computed objects )和渲染后的网页模板(enderred templates)。

3)利用memcached可以缓存session数据、临时数据以减少对他们的数据库写操作。

4)缓存一些很小但是被频繁访问的文件。

5)缓存Web 'services'(非IBM宣扬的Web Services,译者注)或RSS feeds的结果.。

不适用memcached的业务场景:

1)缓存对象的大小大于1MB

Memcached本身就不是为了处理庞大的多媒体(large media)和巨大的二进制块(streaming huge blobs)而设计的。

2)key的长度大于250字符

3)虚拟主机不让运行memcached服务

如果应用本身托管在低端的虚拟私有服务器上,像vmware, xen这类虚拟化技术并不适合运行memcached。Memcached需要接管和控制大块的内存,如果memcached管理的内存

被OS或 hypervisor交换出去,memcached的性能将大打折扣。

4)应用运行在不安全的环境中

Memcached为提供任何安全策略,仅仅通过telnet就可以访问到memcached。如果应用运行在共享的系统上,需要着重考虑安全问题。

5)业务本身需要的是持久化数据或者说需要的应该是database

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,967评论 19 139
  • 转载地址:http://gnucto.blog.51cto.com/3391516/998509 Redis与Me...
    Ddaidai阅读 21,466评论 0 82
  • 【转】缓存在分布式系统中的应用 缓存在分布式系统中的应用 摘要 缓存是分布式系统中的重要组件,主要解决高并发,大数...
    武汉苏乞儿阅读 878评论 0 10
  • 长大了就要具备接受所有形式离别的能力了,不管是用力说了再见的,还是悄无声息离开的。上个夏天拍着胸脯说你找我玩我随时...
    Sniper_hss阅读 423评论 0 0
  • 最近在做项目的时候,对表单的内容进行验证时,遇见了一个小坑。也不算是小坑,自己阅读官方文档不仔细的原因。 自己使用...
    一块糖吧阅读 61评论 0 1