国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Table of Contents
String type operation" >String type operation
list operation" >list operation
Set collection type" >Set collection type
Zset data type" >Zset data type
Hash data type" >Hash data type
Home php教程 php手冊 Redis PHP operation manual

Redis PHP operation manual

Aug 04, 2016 am 08:53 AM

String type operation

String is the most basic type of redis, and the string type is binary safe. This means that the redis string can contain any data. For example, jpg images or serialized objects

<span style="font-size: 15px;"><code><span class="hljs-variable">$redis-><span class="hljs-built_in">set(<span class="hljs-string">'key',<span class="hljs-string">'TK');
</span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis-><span class="hljs-built_in">set(<span class="hljs-string">'number',<span class="hljs-string">'1');
</span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->setex(<span class="hljs-string">'key',<span class="hljs-number">5,<span class="hljs-string">'TK'); <span class="hljs-comment">//設(shè)置有效期為5秒的鍵值
</span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->psetex(<span class="hljs-string">'key',<span class="hljs-number">5000,<span class="hljs-string">'TK'); <span class="hljs-comment">//設(shè)置有效期為5000毫秒(同5秒)的鍵值
</span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->setnx(<span class="hljs-string">'key',<span class="hljs-string">'XK'); <span class="hljs-regexp">//若鍵值存在返回<span class="hljs-keyword">false 不存在返回<span class="hljs-keyword">true
</span></span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->delete(<span class="hljs-string">'key'); 刪除鍵值 可以傳入數(shù)組 <span class="hljs-keyword">array(<span class="hljs-string">'key1',<span class="hljs-string">'key2')刪除多個鍵
</span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->getSet(<span class="hljs-string">'key',<span class="hljs-string">'XK'); <span class="hljs-comment">//將鍵key的值設(shè)置為XK, 并返回這個鍵值原來的值TK
</span></span></span></span></code></span>
<span style="font-size: 15px;"><code> <span class="hljs-variable">$ret = <span class="hljs-variable">$redis->multi()  <span class="hljs-comment">//批量事務(wù)處理,不保證處理數(shù)據(jù)的原子性
        ->set(<span class="hljs-string">'key1', <span class="hljs-string">'val1')
        ->get(<span class="hljs-string">'key1')
        ->setnx(<span class="hljs-string">'key', <span class="hljs-string">'val2')
        ->get(<span class="hljs-string">'key2')
        ->exec();
</span></span></span></span></span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->watch(<span class="hljs-string">'key');   // 監(jiān)控鍵key 是否被其他客戶端修改
                           如果KEY在調(diào)用watch()和<span class="hljs-built_in">exec()之間被修改,<span class="hljs-built_in">exec失敗
</span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-function"><span class="hljs-keyword">function <span class="hljs-title">f<span class="hljs-params">(<span class="hljs-variable">$redis, <span class="hljs-variable">$chan, <span class="hljs-variable">$msg) {  <span class="hljs-comment">//頻道訂閱
    <span class="hljs-keyword">switch(<span class="hljs-variable">$chan) {
        <span class="hljs-keyword">case <span class="hljs-string">'chan-1':
            <span class="hljs-keyword">echo <span class="hljs-variable">$msg;
            <span class="hljs-keyword">break;

        <span class="hljs-keyword">case <span class="hljs-string">'chan-2':
            <span class="hljs-keyword">echo <span class="hljs-variable">$msg;
            <span class="hljs-keyword">break;

        <span class="hljs-keyword">case <span class="hljs-string">'chan-2':
            <span class="hljs-keyword">echo <span class="hljs-variable">$msg;
            <span class="hljs-keyword">break;
    }
}

<span class="hljs-variable">$redis->subscribe(<span class="hljs-keyword">array(<span class="hljs-string">'chan-1', <span class="hljs-string">'chan-2', <span class="hljs-string">'chan-3'), <span class="hljs-string">'f'); <span class="hljs-comment">// subscribe to 3 chans

<span class="hljs-variable">$redis->publish(<span class="hljs-string">'chan-1', <span class="hljs-string">'hello, world!'); <span class="hljs-comment">// send message. 
</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->exists(<span class="hljs-string">'key'); <span class="hljs-regexp">//驗證鍵是否存在,存在返回<span class="hljs-keyword">true
</span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->incr(<span class="hljs-string">'number'); <span class="hljs-comment">//鍵值加1
</span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->incrby(<span class="hljs-string">'number',-<span class="hljs-number">10); <span class="hljs-comment">//鍵值加減10
</span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->incrByFloat(<span class="hljs-string">'number', +/- <span class="hljs-number">1.5); <span class="hljs-comment">//鍵值加減小數(shù)
</span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->decr(<span class="hljs-string">'number'); <span class="hljs-comment">// 鍵值減1
</span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->decrBy(<span class="hljs-string">'number',<span class="hljs-number">10); <span class="hljs-comment">// 鍵值減10
</span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$mget = <span class="hljs-variable">$redis->mget(<span class="hljs-keyword">array(<span class="hljs-string">'number',<span class="hljs-string">'key')); <span class="hljs-comment">// 批量獲取鍵值,返回一個數(shù)組
</span></span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->mset(<span class="hljs-keyword">array(<span class="hljs-string">'key0' => <span class="hljs-string">'value0', <span class="hljs-string">'key1' => <span class="hljs-string">'value1')); <span class="hljs-comment">// 批量設(shè)置鍵值
</span></span></span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->msetnx(<span class="hljs-keyword">array(<span class="hljs-string">'key0' => <span class="hljs-string">'value0', <span class="hljs-string">'key1' => <span class="hljs-string">'value1')); 
                                        <span class="hljs-comment">// 批量設(shè)置鍵值,類似將setnx()方法批量操作
</span></span></span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->append(<span class="hljs-string">'key', <span class="hljs-string">'-Smudge'); <span class="hljs-comment">//原鍵值TK,將值追加到鍵值后面,鍵值為TK-Smudge
</span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->getRange(<span class="hljs-string">'key', <span class="hljs-number">0, <span class="hljs-number">5); <span class="hljs-comment">// 鍵值截取從0位置開始到5位置結(jié)束
</span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->getRange(<span class="hljs-string">'key', -<span class="hljs-number">6, -<span class="hljs-number">1); <span class="hljs-comment">// 字符串截取從-6(倒數(shù)第6位置)開始到-1(倒數(shù)第1位置)結(jié)束
</span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->setRange(<span class="hljs-string">'key', <span class="hljs-number">0, <span class="hljs-string">'Smudge'); 
                                    <span class="hljs-comment">// 鍵值中替換字符串,0表示從0位置開始
                                       有多少個字符替換多少位置,其中漢字占<span class="hljs-number">2個位置
</span></span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->strlen(<span class="hljs-string">'key'); <span class="hljs-comment">//鍵值長度
</span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->getBit(<span class="hljs-string">'key');
</span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis-><span class="hljs-built_in">setBit(<span class="hljs-string">'key');
</span></span></span></code></span>

list operation

<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->delete(<span class="hljs-string">'list-key'); <span class="hljs-comment">// 刪除鏈表
</span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->lPush(<span class="hljs-string">'list-key', <span class="hljs-string">'A'); <span class="hljs-comment">//插入鏈表頭部/左側(cè),返回鏈表長度
</span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->rPush(<span class="hljs-string">'list-key', <span class="hljs-string">'B'); <span class="hljs-comment">//插入鏈表尾部/右側(cè),返回鏈表長度
</span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->lPushx(<span class="hljs-string">'list-key', <span class="hljs-string">'C'); 
                 <span class="hljs-comment">// 插入鏈表頭部/左側(cè),鏈表不存在返回0,存在即插入成功,返回當前鏈表長度
</span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->rPushx(<span class="hljs-string">'list-key', <span class="hljs-string">'C'); 
                 <span class="hljs-comment">// 插入鏈表尾部/右側(cè),鏈表不存在返回0,存在即插入成功,返回當前鏈表長度
</span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->lPop(<span class="hljs-string">'list-key'); <span class="hljs-comment">//返回LIST頂部(左側(cè))的VALUE ,后入先出(棧)
</span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->rPop(<span class="hljs-string">'list-key'); <span class="hljs-comment">//返回LIST尾部(右側(cè))的VALUE ,先入先出(隊列)
</span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->blPop();
</span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->brPop();
</span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->lSize(<span class="hljs-string">'list-key'); 
                    <span class="hljs-comment">// 如果是鏈表則返回鏈表長度,空鏈表返回0 
                       若不是鏈表或者不為空,則返回<span class="hljs-keyword">false ,判斷非鏈表 <span class="hljs-string">" === false "                          
</span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->lGet(<span class="hljs-string">'list-key',-<span class="hljs-number">1); <span class="hljs-comment">// 通過索引獲取鏈表元素 0獲取左側(cè)一個  -1獲取最后一個
</span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->lSet(<span class="hljs-string">'list-key', <span class="hljs-number">0, <span class="hljs-string">'X'); <span class="hljs-comment">//0位置元素替換為 X
</span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->lRange(<span class="hljs-string">'list-key', <span class="hljs-number">0, <span class="hljs-number">3); 
                    <span class="hljs-comment">//鏈表截取 從0開始 3位置結(jié)束 ,結(jié)束位置為-1 獲取開始位置之后的全部
</span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->lTrim(<span class="hljs-string">'list-key', <span class="hljs-number">0, <span class="hljs-number">1); <span class="hljs-comment">// 截取鏈表(不可逆) 從0索引開始 1索引結(jié)束 
</span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->lRem(<span class="hljs-string">'list-key', <span class="hljs-string">'C', <span class="hljs-number">2); <span class="hljs-comment">//鏈表從左開始刪除元素2個C
</span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->lInsert(<span class="hljs-string">'list-key', Redis::BEFORE, <span class="hljs-string">'C', <span class="hljs-string">'X'); 
                    <span class="hljs-comment">// 在C元素前面插入X  , Redis::AfTER(表示后面插入) 
                       鏈表不存在則插入失敗 返回<span class="hljs-number">0 若元素不存在返回-<span class="hljs-number">1
</span></span></span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->rpoplpush(<span class="hljs-string">'list-key', <span class="hljs-string">'list-key2'); 
                    <span class="hljs-comment">//從源LIST的最后彈出一個元素
                      并且把這個元素從目標<span class="hljs-keyword">LIST的頂部(左側(cè))壓入目標<span class="hljs-keyword">LIST。 
</span></span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code>
<span class="hljs-variable">$redis->brpoplpush();
                    <span class="hljs-comment">//rpoplpush的阻塞版本,這個版本有第三個參數(shù)用于設(shè)置阻塞時間
                      即如果源<span class="hljs-keyword">LIST為空,那么可以阻塞監(jiān)聽timeout的時間,如果有元素了則執(zhí)行操作。
</span></span></span></code></span>

Set collection type

<span style="font-size: 15px;"><code><span class="hljs-keyword">set無序集合 不允許出現(xiàn)重復的元素 服務(wù)端可以實現(xiàn)多個 集合操作
</span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->sMembers(<span class="hljs-string">'key'); <span class="hljs-comment">//獲取容器key中所有元素
</span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->sAdd(<span class="hljs-string">'key' , <span class="hljs-string">'TK');
                 <span class="hljs-regexp">// (從左側(cè)插入,最后插入的元素在<span class="hljs-number">0位置),集合中已經(jīng)存在<span class="hljs-constant">TK 則返回<span class="hljs-keyword">false 
                     不存在添加成功 返回<span class="hljs-keyword">true
</span></span></span></span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->sRem(<span class="hljs-string">'key' , <span class="hljs-string">'TK'); <span class="hljs-comment">// 移除容器中的TK
</span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->sMove(<span class="hljs-string">'key',<span class="hljs-string">'key1',<span class="hljs-string">'TK'); <span class="hljs-comment">//將容易key中的元素TK 移動到容器key1  操作成功返回TRUE
</span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->sIsMember(<span class="hljs-string">'key',<span class="hljs-string">'TK'); <span class="hljs-comment">//檢查VALUE是否是SET容器中的成員
</span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->sCard(<span class="hljs-string">'key'); <span class="hljs-comment">//返回SET容器的成員數(shù)
</span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->sPop(<span class="hljs-string">'key'); <span class="hljs-comment">//隨機返回容器中一個元素,并移除該元素
</span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->sRandMember(<span class="hljs-string">'key');<span class="hljs-comment">//隨機返回容器中一個元素,不移除該元素
</span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->sInter(<span class="hljs-string">'key',<span class="hljs-string">'key1'); 
     <span class="hljs-comment">// 返回兩個集合的交集 沒有交集返回一個空數(shù)組,若參數(shù)只有一個集合,則返回集合對應(yīng)的完整的數(shù)組
</span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->sInterStore(<span class="hljs-string">'store',<span class="hljs-string">'key',<span class="hljs-string">'key1'); <span class="hljs-comment">//將集合key和集合key1的交集 存入容器store 成功返回1
</span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->sUnion(<span class="hljs-string">'key',<span class="hljs-string">'key1'); <span class="hljs-comment">//集合key和集合key1的并集  注意即使多個集合有相同元素 只保留一個

<span class="hljs-variable">$redis->sUnionStore(<span class="hljs-string">'store',<span class="hljs-string">'key',<span class="hljs-string">'key1'); 
            <span class="hljs-comment">//集合key和集合key1的并集保存在集合store中,  注意即使多個集合有相同元素 只保留一個
</span></span></span></span></span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->sDiff(<span class="hljs-string">'key',<span class="hljs-string">'key1',<span class="hljs-string">'key2'); <span class="hljs-comment">//返回數(shù)組,該數(shù)組元素是存在于key集合而不存在于集合key1 key2
</span></span></span></span></span></code></span>

Zset data type

**(stored set) is a collection of strings like set. The difference is that each element is associated with a double type score
The list type of redis is actually a doubly linked list in which each sub-element is of string type. . **

<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->zAdd(<span class="hljs-string">'tkey', <span class="hljs-number">1, <span class="hljs-string">'A'); 
                           <span class="hljs-comment">//  插入集合tkey中,A元素關(guān)聯(lián)一個分數(shù),插入成功返回1
                               同時集合元素不可以重復, 如果元素已經(jīng)存在返回 <span class="hljs-number">0
</span></span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->zRange(<span class="hljs-string">'tkey',<span class="hljs-number">0,-<span class="hljs-number">1); <span class="hljs-comment">// 獲取集合元素,從0位置 到 -1 位置
</span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->zRange(<span class="hljs-string">'tkey',<span class="hljs-number">0,-<span class="hljs-number">1, <span class="hljs-keyword">true); 
                    <span class="hljs-comment">// 獲取集合元素,從0位置 到 -1 位置, 返回一個關(guān)聯(lián)數(shù)組 帶分數(shù) 
                      <span class="hljs-keyword">array([A] => <span class="hljs-number">0.01,[B] => <span class="hljs-number">0.02,[D] => <span class="hljs-number">0.03) 其中小數(shù)來自zAdd方法第二個參數(shù)
</span></span></span></span></span></span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->zDelete(<span class="hljs-string">'tkey', <span class="hljs-string">'B'); <span class="hljs-comment">// 移除集合tkey中元素B  成功返回1 失敗返回 0
</span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->zRevRange(<span class="hljs-string">'tkey', <span class="hljs-number">0, -<span class="hljs-number">1); <span class="hljs-comment">// 獲取集合元素,從0位置 到 -1 位置,數(shù)組按照score降序處理

<span class="hljs-variable">$redis->zRevRange(<span class="hljs-string">'tkey', <span class="hljs-number">0, -<span class="hljs-number">1,<span class="hljs-keyword">true); 
                <span class="hljs-comment">// 獲取集合元素,從0位置 到 -1 位置,數(shù)組按照score降序處理 返回score關(guān)聯(lián)數(shù)組
</span></span></span></span></span></span></span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->zRangeByScore(<span class="hljs-string">'tkey', <span class="hljs-number">0, <span class="hljs-number">0.2,<span class="hljs-keyword">array(<span class="hljs-string">'withscores' => <span class="hljs-keyword">true)); 
            <span class="hljs-comment">//獲取幾個tkey中score在區(qū)間[0,0.2]元素 ,score由低到高排序,
                元素具有相同的score,那么會按照字典順序排列 , withscores 控制返回關(guān)聯(lián)數(shù)組
</span></span></span></span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->zRangeByScore(<span class="hljs-string">'tkey', <span class="hljs-number">0.1, <span class="hljs-number">0.36, <span class="hljs-keyword">array(<span class="hljs-string">'withscores' => <span class="hljs-keyword">TRUE, <span class="hljs-string">'limit' => <span class="hljs-keyword">array(<span class="hljs-number">0, <span class="hljs-number">1)));
             <span class="hljs-comment">//其中l(wèi)imit中 0和1 表示取符合條件集合中 從0位置開始,向后掃描1個 返回關(guān)聯(lián)數(shù)組
</span></span></span></span></span></span></span></span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->zCount(<span class="hljs-string">'tkey', <span class="hljs-number">2, <span class="hljs-number">10); <span class="hljs-comment">// 獲取tkey中score在區(qū)間[2, 10]元素的個數(shù)
</span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code>$redis->zRemRangeByScore('tkey', 1, 3); // 移除tkey中score在區(qū)間[<span class="hljs-link_label">1, 3](<span class="hljs-link_url">含邊界)的元素
</span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->zRemRangeByRank(<span class="hljs-string">'tkey', <span class="hljs-number">0, <span class="hljs-number">1); 
                         <span class="hljs-comment">//默認元素score是遞增的,移除tkey中元素 從0開始到-1位置結(jié)束
</span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->zSize(<span class="hljs-string">'tkey');  <span class="hljs-comment">//返回存儲在key對應(yīng)的有序集合中的元素的個數(shù)
</span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->zScore(<span class="hljs-string">'tkey', <span class="hljs-string">'A'); <span class="hljs-comment">// 返回集合tkey中元素A的score值
</span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->zRank(<span class="hljs-string">'tkey', <span class="hljs-string">'A'); 
                      <span class="hljs-comment">// 返回集合tkey中元素A的索引值 
                         z集合中元素按照score從低到高進行排列 ,即最低的score index索引為<span class="hljs-number">0
</span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->zIncrBy(<span class="hljs-string">'tkey', <span class="hljs-number">2.5, <span class="hljs-string">'A'); <span class="hljs-comment">// 將集合tkey中元素A的score值 加 2.5
</span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->zUnion(<span class="hljs-string">'union', <span class="hljs-keyword">array(<span class="hljs-string">'tkey', <span class="hljs-string">'tkey1')); 
        <span class="hljs-comment">// 將集合tkey和集合tkey1元素合并于集合union , 并且新集合中元素不能重復
           返回新集合的元素個數(shù), 如果元素A在tkey和tkey1都存在,則合并后的元素A的score相加
</span></span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->zUnion(<span class="hljs-string">'ko2', <span class="hljs-keyword">array(<span class="hljs-string">'k1', <span class="hljs-string">'k2'), <span class="hljs-keyword">array(<span class="hljs-number">5, <span class="hljs-number">2)); 
        <span class="hljs-comment">// 集合k1和集合k2并集于k02 ,array(5,1)中元素的個數(shù)與子集合對應(yīng),然后 5 對應(yīng)k1 
           k1每個元素score都要乘以<span class="hljs-number">5 ,同理<span class="hljs-number">1對應(yīng)k2,k2每個元素score乘以<span class="hljs-number">1 
           然后元素按照遞增排序,默認相同的元素score(SUM)相加
</span></span></span></span></span></span></span></span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->zUnion(<span class="hljs-string">'ko2', <span class="hljs-keyword">array(<span class="hljs-string">'k1', <span class="hljs-string">'k2'), <span class="hljs-keyword">array(<span class="hljs-number">10, <span class="hljs-number">2),<span class="hljs-string">'MAX'); 
        <span class="hljs-comment">// 各個子集乘以因子之后,元素按照遞增排序,相同的元素的score取最大值(MAX)
           也可以設(shè)置MIN 取最小值
</span></span></span></span></span></span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->zInter(<span class="hljs-string">'ko1', <span class="hljs-keyword">array(<span class="hljs-string">'k1', <span class="hljs-string">'k2')); 
        <span class="hljs-comment">// 集合k1和集合k2取交集于k01 ,且按照score值遞增排序
           如果集合元素相同,則新集合中的元素的score值相加
</span></span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->zInter(<span class="hljs-string">'ko1', <span class="hljs-keyword">array(<span class="hljs-string">'k1', <span class="hljs-string">'k2'), <span class="hljs-keyword">array(<span class="hljs-number">5, <span class="hljs-number">1)); 
        <span class="hljs-comment">//集合k1和集合k2取交集于k01 ,array(5,1)中元素的個數(shù)與子集合對應(yīng),然后 5 對應(yīng)k1 
          k1每個元素score都要乘以<span class="hljs-number">5 ,同理<span class="hljs-number">1對應(yīng)k2,k2每個元素score乘以<span class="hljs-number">1 
          ,然后元素score按照遞增排序,默認相同的元素score(SUM)相加
</span></span></span></span></span></span></span></span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->zInter(<span class="hljs-string">'ko1', <span class="hljs-keyword">array(<span class="hljs-string">'k1', <span class="hljs-string">'k2'), <span class="hljs-keyword">array(<span class="hljs-number">5, <span class="hljs-number">1),<span class="hljs-string">'MAX'); 
        <span class="hljs-comment">// 各個子集乘以因子之后,元素score按照遞增排序,相同的元素score取最大值(MAX)
           也可以設(shè)置MIN 取最小值
</span></span></span></span></span></span></span></span></span></span></code></span>

Hash data type

redis hash is a mapping table of string type fields and values. Its addition and deletion operations are O(1) (on average). Hash is particularly suitable for storing objects.

<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->hSet(<span class="hljs-string">'h', <span class="hljs-string">'name', <span class="hljs-string">'TK'); <span class="hljs-comment">// 在h表中 添加name字段 value為TK
</span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->hSetNx(<span class="hljs-string">'h', <span class="hljs-string">'name', <span class="hljs-string">'TK');
         <span class="hljs-regexp">// 在h表中 添加name字段 value為<span class="hljs-constant">TK 如果字段name的value存在返回<span class="hljs-keyword">false 否則返回 <span class="hljs-keyword">true
</span></span></span></span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->hGet(<span class="hljs-string">'h', <span class="hljs-string">'name'); <span class="hljs-comment">// 獲取h表中name字段value
</span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->hLen(<span class="hljs-string">'h'); <span class="hljs-comment">// 獲取h表長度即字段的個數(shù)
</span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->hDel(<span class="hljs-string">'h',<span class="hljs-string">'email'); <span class="hljs-comment">// 刪除h表中email 字段
</span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->hKeys(<span class="hljs-string">'h'); <span class="hljs-comment">// 獲取h表中所有字段
</span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->hVals(<span class="hljs-string">'h'); <span class="hljs-comment">// 獲取h表中所有字段value
</span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->hGetAll(<span class="hljs-string">'h'); <span class="hljs-comment">// 獲取h表中所有字段和value 返回一個關(guān)聯(lián)數(shù)組(字段為鍵值)
</span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->hExists(<span class="hljs-string">'h', <span class="hljs-string">'email'); <span class="hljs-regexp">//判斷email 字段是否存在與表h 不存在返回<span class="hljs-keyword">false
</span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->hSet(<span class="hljs-string">'h', <span class="hljs-string">'age', <span class="hljs-number">28);
</span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->hIncrBy(<span class="hljs-string">'h', <span class="hljs-string">'age', -<span class="hljs-number">2); 
 <span class="hljs-regexp">// 設(shè)置h表中age字段value加(-<span class="hljs-number">2) 如果value是個非數(shù)值 則返回<span class="hljs-keyword">false 否則,返回操作后的value
</span></span></span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->hIncrByFloat(<span class="hljs-string">'h', <span class="hljs-string">'age', -<span class="hljs-number">0.<span class="hljs-number">33);  
        <span class="hljs-regexp">// 設(shè)置h表中age字段value加(-<span class="hljs-number">2.6) 如果value是個非數(shù)值 則返回<span class="hljs-keyword">false 否則
           返回操作后的value(小數(shù)點保留<span class="hljs-number">15位)
</span></span></span></span></span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->hMset(<span class="hljs-string">'h', <span class="hljs-keyword">array(<span class="hljs-string">'score' => <span class="hljs-string">'80', <span class="hljs-string">'salary' => <span class="hljs-number">2000)); <span class="hljs-comment">// 表h 批量設(shè)置字段和value
</span></span></span></span></span></span></span></span></code></span>
<span style="font-size: 15px;"><code><span class="hljs-variable">$redis->hMGet(<span class="hljs-string">'h', <span class="hljs-keyword">array(<span class="hljs-string">'score',<span class="hljs-string">'salary')); <span class="hljs-comment">// 表h 批量獲取字段的value</span></span></span></span></span></span></code></span>
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

PHP Tutorial
1502
276