<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 功能強大 支持多語言、二開方便! 廣告
                [TOC] ## 事務 批量指令并非原子化的操作,中間某條指令的失敗不會導致前面已做指令的回滾,也不會造成后續的指令不做。 ### 接口 ``` $redis->multi(Redis::MULTI); //開啟事務,事務塊內的多條命令會按照先后順序被放進一個隊列當中,最后由 EXEC 命令在一個原子時間內執行。 $redis->multi(Redis::PIPELINE); //開啟管道,事務塊內的多條命令會按照先后順序被放進一個隊列當中,最后由 EXEC 命令在一個原子時間內執行。 $redis->exec(); //執行所有事務塊內的命令,;【事務塊內所有命令的返回值,按命令執行的先后順序排列,當操作被打斷時,返回空值 false】 ``` ### demo ``` $ret = $redis->multi() ->set('key1', 'val1') ->get('key1') ->set('key2', 'val2') ->get('key2') ->exec(); //$ret == array ( // 0 => TRUE, // 1 => 'val1', // 2 => TRUE, // 3 => 'val2'); ``` ## bitmap 位圖 `SETBIT key offset value` 1. 位的設置或清除取決于 value 參數,可以是 0 也可以是 1 。 2. 字符串會自動進行伸展(grown),當字符串值進行伸展時,空白位置以 0 填充 3. offset >=0 ,< 2^32 (bit 映射被限制在 512 MB 之內)。 應用 實現用戶上線次數統計 ``` > setbit demo 234 1 //設置 234 (integer) 0 > getbit demo 234 //判斷 234 是否存在 (integer) 1 > setbit demo 234 0 // value 為 0 清除 (integer) 1 > getbit demo 234 //判斷 234 是否存在 (integer) 0 > bitcount demo 0 235 // 判斷存儲了幾個 (integer) 0 ``` ## 地理位置 > [參考](http://redisdoc.com/geo/georadius.html) Redis > 3.2 | 命令 | 說明 | | --- | --- | | 1. GEOADD | 將指定的地理空間位置(緯度、經度、名稱)添加到指定的 key 中 | | 2. GEODIST | 返回兩個給定位置之間的距離 | | 3. GEOHASH | 返回一個或多個位置元素的 Geohash 表示 | | 4. GEOPOS | 從 key 里返回所有給定位置元素的位置(經度和緯度) | | 5. GEORADIUS | 以給定的經緯度為中心, 找出某一半徑內的元素 | | 6. GEORADIUSBYMEMBER | 找出位于指定范圍內的元素,中心點是由給定的位置元素決定 | ``` $redis = new Redis(); if ( ! $redis->connect('127.0.0.1', 6379)) { die($redis->getLastError()); } $redis->rawCommand('geoadd', 'hangzhou', '120.118007', '30.259293', '桃園嶺'); $redis->rawCommand('geoadd', 'hangzhou', '120.119445','30.255082', '農耕科普園'); $redis->rawCommand('geoadd', 'hangzhou', '120.071655','30.272893', '西溪濕地'); $redis->rawCommand('geoadd', 'hangzhou', '120.114321','30.221218', '龍井村'); $redis->rawCommand('geoadd', 'hangzhou', '120.145012','30.205586', '白塔公園'); $redis->rawCommand('geoadd', 'hangzhou', '120.112912','30.224221', '十里瑯珰'); $redis->rawCommand('geoadd', 'hangzhou', '120.107264','30.206997', '獅峰'); $redis->rawCommand('geoadd', 'hangzhou', '120.117936','30.227969', '真跡寺'); $redis->rawCommand('geoadd', 'hangzhou', '120.10826','30.246569', '靈隱寺'); $redis->rawCommand('geoadd', 'hangzhou', '120.114123','30.264152', '狀元峰'); // 返回兩個給定位置之間的距離 $ret = $redis->rawCommand('GEODIST', 'hangzhou','西溪濕地', '龍井村', 'm'); var_dump($ret); //7060.0083 // 批量獲取地點經緯度 $ret = $redis->rawCommand('GEOPOS', 'hangzhou','靈隱寺', '狀元峰'); var_export($ret); //[[ '120.10826021432877', '30.24656778547287',], [ '120.11412352323532', '30.264151146155207',],] //返回 距離 hangzhou 指定經緯度坐標的距離最近的值 $ret = $redis->rawCommand('GEORADIUS', 'hangzhou','120.10836','30.246569', 2, 'km', 'WITHDIST','WITHCOORD','ASC'); var_export($ret); //7060.0083 /*[ ['靈隱寺', '0.0096', ['120.10826021432877', '30.24656778547287',],], ['農耕科普園', '1.4251', ['120.11944502592087', '30.255081913847086',],], ['桃園嶺', '1.6917', ['120.11800736188889', '30.259292085692756',],] ]*/ //清除 地址位置key $redis->del("hangzhou"); ```
                  <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>

                              哎呀哎呀视频在线观看