zoukankan      html  css  js  c++  java
  • Memcache缓存用好了,性能有了很大的提高

    web服务器1 web服务器2 web服务器3
    如果每台web服务器都向mysql服务器表插入信息并且要做出相应最新编号反馈
    出现这样的高并发时候怎么减少服务器压力,同时用户体验还要好

    可以使用Memcache缓存 使用Memcache的add方法 原子性(不能修改)

    <?php
    $memcache_obj = memcache_connect ( "localhost" , 11211 );

    /* 面向过程编程 API */
    memcache_add ( $memcache_obj , 'var_key' , 'test variable' , false , 30 );

    /* 面向对象编程 API */
    $memcache_obj -> add ( 'var_key' , 'test variable' , false , 30 );

    ?>

    成功时返回 TRUE , 或者在失败时返回 FALSE 。 如果这个key已经存在返回 FALSE

    备注:Memcache是一个分布式缓存 所以可以挂在其他空闲服务器上 达到缓存共享


    特性、优点和限制

    Memory :内存存储,速度快,对于内存的要求高,所缓存的内容非持久化。
    对于 CPU 要求很低,所以常常采用将 Memcached 服务端和一些 CPU 高消耗 Memory 低消耗应用部属在一起。


    集中式 Cache :避开了分布式 Cache 的传播问题,但是需要非单点保证其可靠性,这需要 cluster 的工作,
    可以将多个 Memcached 作为一个虚拟的 cluster ,
    同时对于 cluster 的读写和普通的 memcached 的读写性能没有差别。


    分布式扩展: Memcached 的很突出一个优点,就是采用了可分布式扩展的模式。
    可以将部属在一台机器上的多个 Memcached 服务端或者部署在多个机器上的 Memcached 服务端组成一个虚拟的服务端,
    对于调用者来说完全屏蔽和透明。提高的单机器的内存利用率。


    Socket 通信:传输内容的大小以及序列化的问题需要注意(当前支持 Tcp 和 udp 两种模式),序列化成本和带宽成本还是需要注意


    特殊的内存分配机制:首先要说明的是 Memcached 支持最大的存储对象为 1M

    Cache 机制简单: 首先它没有什么同步,消息分发,两阶段提交等等,它就是一个很简单的 Cache ,把东西放进去,然后可以取出来


    Memcache缓存用好了,性能有了很大的提高

  • 相关阅读:
    恢复spark挂掉的节点
    启动spark集群
    记录一下SparkStreaming中因为使用redis做数据验证而导致数据结果不对的问题
    ps -aux与ps -ef
    Operation category READ is not supported in state standby
    spark web ui中的skipped的含义
    关于spark ui中executor显示的内存量与设置的内存量不符的问题
    flume修改配置文件
    maven中的各种问题
    java 的集合框架
  • 原文地址:https://www.cnblogs.com/lovekingly/p/4334412.html
Copyright © 2011-2022 走看看