zoukankan      html  css  js  c++  java
  • memcache使用

    memcache 适合场景:
        (1)网站包含访问量很大动态,因而数据库的负载将会很高。由于大部分数据库请求都是读操作,那么memcached可以显著地减小数据库负载
        (2)如果数据库服务器的负载比较低但CPU使用率很高,这时可以缓存计算好的结果和渲染后的网页模板
        (3)利用memcached可以缓存 session数据 、临时数据以减少对他们的数据库写操作
        (4)缓存一些很小但是被频繁访问的文件
    memcache不适合场景:
        (1)缓存对象的大小大于1MB 
        (2)key的长度大于250字符
        (3)虚拟主机不让运行memcached服务   
          如果应用本身托管在低端的虚拟私有服务器上,像vmware, xen这类虚拟化技术并不适合运行memcached。Memcached需要接管            和控制大块的内存,如果memcached管理的内存 
    被OS或 hypervisor交换出去,memcached的性能将大打折扣
        (4)应用运行在不安全的环境中,仅仅通过telnet就可以访问到memcached。如果应用运行在共享的系统上,需要着重考虑安全问题
        (5)业务本身需要的是持久化数据或者说需要的应该是database
    
    
    memcache解释:
        过期时间最长可以达到30天
    
    memcached 使用:
    
    连接memcached服务器:   telnet 127.0.0.1 11211
    
    memcache 类:
    
        <?php
        /**
         * Pengcz_Cache
         *
         * @version $Id$
         * @copyright
         */
    
        /**
         * 缓存类
         *
         */
        class Pengcz_Cache {
            var $_memcached;
            var $_app_key;
    
            public function Seedit_Cache($app_key) {
                $this->_memcached = new Memcached();
                $this->_memcached->addServer(MEMCACHE_HOST, MEMCACHE_PORT);
                $this->_app_key = strtolower($app_key);
            }
            public function set($key,$value,$expiration=0) {
                $key   = $this->_app_key . "_" . substr(md5($key),8,16);
                $this->_memcached->set($key,$value,$expiration);
            }
            public function get($key) {
                $key   = $this->_app_key . "_" . substr(md5($key),8,16);
                $data = $this->_memcached->get($key);
                return $data;
            }
            public function delete($key) {
                $key   = $this->_app_key . "_" . substr(md5($key),8,16);
                $data = $this->_memcached->delete($key);
                return $data;
            }
            /*public function flush() {
                return $this->_memcached->flush();
            }*/
        }
  • 相关阅读:
    【转】将项目打成war包并用tomcat部署的方法,步骤及注意点
    JETTY+NGINX
    【转】收集 jetty、tomcat、jboss、weblogic 的比较
    SQL左右连接中的on and和on where的区别
    定义一个servlet用于处理所有外部接口类 架构思路
    spring上下文快速获取方法
    jasper打印实例2 ----通过文件字节流获得PDF格式图片
    Jasper打印示例
    Jasperreport5.6.9-----1
    Linux装B命令
  • 原文地址:https://www.cnblogs.com/pengcz/p/5646568.html
Copyright © 2011-2022 走看看