zoukankan      html  css  js  c++  java
  • 加速访问之redis和membercached

    1.redis

    Redis 是完全开源免费的,遵守BSD协议,先进的key - value持久化产品。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets)和 有序集合(sorted sets)等类型

    安装redis

    $ wget http://download.redis.io/releases/redis-2.8.17.tar.gz
    $ tar xzf redis-2.8.17.tar.gz
    $ cd redis-2.8.17
    $ make

    PHP使用redis

    <?php
    /*从平台获取数据库名*/
    $dbname = "";
      
    /*从环境变量里取host,port,user,pwd*/
    $host = '';
    $port = '';
    $user = '';
    $pwd = '';
      
    try {
        /*建立连接后,在进行集合操作前,需要先进行auth验证*/
        $redis = new Redis();
        $ret = $redis->connect($host, $port);
        if ($ret === false) {
        die($redis->getLastError());
        }
      
        $ret = $redis->auth($user . "-" . $pwd . "-" . $dbname);
        if ($ret === false) {
        die($redis->getLastError());
        }
      
        /*接下来就可以对该库进行操作了,具体操作方法请参考phpredis官方文档*/
        $redis->flushdb();
        $ret = $redis->set("key", "value");
        if ($ret === false) {
        die($redis->getLastError());
        } else {
     
        echo "OK".$redis->get("key");
        }
      
    } catch (RedisException $e) {
        die("Uncaught exception " . $e->getMessage());
    }
    ?>

    2.membercached

    安装linux的membercached

    PHP使用membercached

    <?php
            
        //创建一个mem对象实例
        $mem=new Memcache;
         
        if(!$mem->connect("10.18.110.213",11211)){
            die('连接失败!');
        }
    
        //增加
    
        //1.增加一个字串
    /*    if($mem->set('key1',"beijing",MEMCACHE_COMPRESSED,60)){
            
            echo '添加ok';
        }*/
        
        //2.添加数值
    /*    if($mem->set('key1',100,MEMCACHE_COMPRESSED,60)){
            
            echo '添加ok';
        }*/
    
        //3.添加数组
        //在添加数组是,根据需要. 希望序列号放入  ,
        //serialize<=>unserialize, 如果根据需要,也可以json_encode <=> json_decode
        $arr=array("bj",'tj');
        if($mem->set('key1',$arr,MEMCACHE_COMPRESSED,time()+31*3600*24)){
            
            echo '添加数组ok99111';
        }
        //4.添加对象
    /*    class Dog{
            public $name;
            public $age;
            public function __construct($name,$age){
                $this->name=$name;
                $this->age=$age;
            }
        }
    
        $dog1=new Dog('小狗',50);
        if($mem->set('key1',$dog1,MEMCACHE_COMPRESSED,60)){
            
            echo '添加对象ok';
        }*/
    
        //5.添加null 布尔值
    /*    if($mem->set('key1',false,MEMCACHE_COMPRESSED,60)){
            
            echo '添加布尔ok';
        }*/
    
        //6. 资源类型放入.
    /*    $con=mysql_connect("127.0.0.1","root","root");
        if(!$con){
            die('连接数据库失败');
        }
        var_dump($con);
        echo "<br/>";
        if($mem->set('key1',$con,MEMCACHE_COMPRESSED,60)){
            
            echo '添加资源ok';
        }*/
    
    
        //查询
    
        $val=$mem->get('key1');
    //修改
        //可以使用replace
        if($mem->replace("key11",'hello',MEMCACHE_COMPRESSED,60)){
            echo 'replace ok';
        }else{
            echo 'replace no ok';
        }
    
    
    
        //删除
        echo "<br/>";
        if($mem->delete('key14')){
            echo 'key14 删除';
        }else{
            echo 'key14不存在';
        }
  • 相关阅读:
    Web API 强势入门指南
    毫秒必争,前端网页性能最佳实践
    Windbg Extension NetExt 使用指南 【3】 ---- 挖掘你想要的数据 Managed Heap
    Windbg Extension NetExt 使用指南 【2】 ---- NetExt 的基本命令介绍
    Windbg Extension NetExt 使用指南 【1】 ---- NetExt 介绍
    WCF : 修复 Security settings for this service require Windows Authentication but it is not enabled for the IIS application that hosts this service 问题
    透过WinDBG的视角看String
    Microsoft Azure Web Sites应用与实践【4】—— Microsoft Azure网站的“后门”
    企业IT管理员IE11升级指南【17】—— F12 开发者工具
    WCF : 如何将NetTcpBinding寄宿在IIS7上
  • 原文地址:https://www.cnblogs.com/feimengv/p/4154780.html
Copyright © 2011-2022 走看看