<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ### **1. memcache的特征** 1. 協議簡單,使用簡單的基于文本行的協議 2. 基于libevent事件處理,靈活調整服務器連接數 3. 內存存儲,存讀速度快 4. 不互相通信的分布式,每個服務器只對自己的數據進行管理 5. 缺乏認證及安全管理 ### **2.Memcacehd的簡單使用** **連接:**` $m->addServer('127.0.0.1',11211); ` #### 2.1 寫入: * **存儲:** ` $m->set('key','value','expire_time'); ` * **不存在則存儲:** ` $m->add('key','value','expire_time'); ` * **存在則替換:** ` $m->replace('key','value','expire_time'); ` * **已存在鍵后面追加數據:** ` $m->append('key','value'); ` * **已存在鍵前面追加數據:** ` $m->prepend('key','value'); ` * **最后一次取值后未修改再寫入:** ` $m->cas('cas_token','key','value'); ` #### 2.2 取值與刪除 * **取值:** ` $m->get('key'); ` * **獲取帶有CAS令牌的值:** ` $m->get('key',$cas); ` * **刪除:** ` $m->delete('key'); ` #### 2.3 其他 * **數字值自增(通常用于統計訪問量)** ` $m->increment('key','number'); ` * **數字值自減** ` $m->decrement('key','number'); ` * **統計信息(Memcache 運行狀態和信息)** ` $m->getStats() ` ### **3. 編寫自己的Memcached類** #### **1.編寫緩存類** ``` class Memcached { private static $handle = null; /**初始化 * @return Memcached|null */ public static function init() { $option = array( 'host' => Config::get('cache.MEMCACHED_HOST','127.0.0.1'), 'port' => Config::get('cache.MEMCACHED_PORT','11211') ); if (!self::$handle) { self::$handle = new \Memcached(); self::$handle->addServer($option['host'],$option['port']); } return self::$handle; } /**存儲 * @param $key * @param $value * @param $expire * @return false */ public static function set($key,$value,$expire) { if (!self::init()) { return false; } $res = self::init()->set($key,$value,$expire); return $res; } /**獲取 * @param $key * @return mixed */ public static function get($key) { $func = is_array($key) ? 'getMulti':'get'; return self::init()->{$func}($key); } /** * 遞增 * @param $key */ public static function incr($key) { if (!self::init()) { return false; } self::init()->add($key,0); return self::init()->increment($key); } } ``` #### **2.使用**: ``` // 測試 memcached \Driver\Cache\Memcached::set('user','李四',600); echo \Driver\Cache\Memcached::get('user'); ``` ### **4.使用Memcached實現分布式算法** * 服務器端互不通訊 * 由于程序實現分布式 * 考慮算法分散存儲壓力 * 考慮算法的命中率 ### **5.Session共享機制** **缺點**:集群錯誤會導致用戶無法登錄,回收機制導致用戶掉線 #### 步驟: 編輯php.ini `session.save_handleer = "memcached"` `session.save_path = "192.168.1.12:11211"` ### **6.memcache和memcached的區別** * Memcache 基于pecl擴展庫版本 ``` $cache = new memcache(); $cache->connect('127.0.0.1','11211'); $cache->set('memcache_key','value'); echo $cache->get('memcache_key'); ``` * Memcached 基于libmemcached版本 ``` $cached = new memcached(); $cached->addServer('127.0.0.1','11211'); $cached->set('memcached_key','value'); echo $cached->get('memcached_key'); ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看