(PHP)redis List(列表)操作


/**
    * 
    * List操作
    * 列表操作
    * 可理解為數組操作
    * 插入、刪除數據按照一定規律排列的
    * 元素可重復
    * 適用於隊列
    * 
    */
   
   //在列表頭部插入一個值one,當列表不存在時自動創建一個列表,key1為列表名
     $redis->lpush("key1", "one");

   //在列表尾部插入一個值two,當列表不存在時自動創建一個列表,key1為列表名
     $redis->rPush("key1","two");

   //將一個插入已存在的列表頭部,列表不存在時操作無效
    $redis->rPushx("key1","1");

    //刪除列表的第一個元素並返回列表和列表的第一個元素,當key1不存在或不是列表則返回false
    $redis->lPop('key1');

    //刪除列表的最后一個元素並返回列表和列表的最后一個元素,當key1不存在或不是列表則返回false
    $redis->rPop('key1');

   //刪除並或取列表的第一個元素,如果沒有元素則會阻塞直到等待超時
   $redis->blPop('asd', 10);

   //刪除並或取列表的最后一個元素,如果沒有元素則會阻塞直到等待超時
   $ret = $redis->brPop('asd', 10);

   //移除列表key1中最后一個元素,將其插入另一個列表asd頭部,並返回這個元素。若源列表沒有元素則返回false
    $redis->rpoplpush('key1', 'asd');

    //移除列表key1中最后一個元素,將其插入另一個列表asd頭部,並返回這個元素。如果列表沒有元素則會阻塞列表直到超時,超時返回false。
    $ret = $redis->brpoplpush('key1', 'asd', 10);

   //返回列表長度
    $redis->lLen('key1');

   //通過索引 (也就是下標key) 獲取列表中的元素,如果沒有該索引,則返回false。
    $redis->lindex('key1', 0);
    
    //通過索引修改列表中元素的值,如果沒有該索引,則返回false。
    $redis->lSet('key1', 2, '1');


    //在列表key1中指定元素six前面或后面插入元素。若指定元素不在列表中,或列表不存在時,不執行任何操作
    //Redis::AFTER插入元素后面    Redis::BEFORE插入元素前面
    //返回值:插入成功返回插入后列表元素個數,若key1不存在返回0,若key1不是列表返回false
    $redis->lInsert('key1', Redis::BEFORE, 'one', '1');

    //根據第三個參數(count),刪除掉相對的value
    //count > 0 : 從表頭開始向表尾搜索,移除與value相等的元素,數量為count。
    //count < 0 : 從表尾開始向表頭搜索,移除與value相等的元素,數量為count的絕對值。
    //count = 0 : 移除表中所有與value相等的值。
    //返回實際刪除元素個數
    $redis->lrem('key1', '1', -2);

      //對一個列表進行截取,只保留指定區間 (如:下標1到10) 的元素,其他元素都刪除。成功返回true。
    $redis->ltrim('key1', 1, 10);

   // 獲取存儲的數據並輸出列表下標0到5的數據
   // 0為開始查詢的列表里的第一個元素,-1則為最后一個元素
   // 5代表查詢5條數據,當5為-1時則查看所有數據,
   $redis->lrange("key1", 0 ,5);

 

/** * * List操作 * 列表操作 * 可理解為數組操作 * 插入、刪除數據按照一定規律排列的 * 元素可重復 * 適用於隊列 * *///在列表頭部插入一個值one,當列表不存在時自動創建一個列表,key1為列表名$redis->lpush("key1", "one"); //在列表尾部插入一個值two,當列表不存在時自動創建一個列表,key1為列表名$redis->rPush("key1","two"); //將一個插入已存在的列表頭部,列表不存在時操作無效$redis->rPushx("key1","1"); //刪除列表的第一個元素並返回列表和列表的第一個元素,當key1不存在或不是列表則返回false$redis->lPop('key1'); //刪除列表的最后一個元素並返回列表和列表的最后一個元素,當key1不存在或不是列表則返回false$redis->rPop('key1'); //刪除並或取列表的第一個元素,如果沒有元素則會阻塞直到等待超時$redis->blPop('asd', 10); //刪除並或取列表的最后一個元素,如果沒有元素則會阻塞直到等待超時$ret = $redis->brPop('asd', 10); //移除列表key1中最后一個元素,將其插入另一個列表asd頭部,並返回這個元素。若源列表沒有元素則返回false$redis->rpoplpush('key1', 'asd'); //移除列表key1中最后一個元素,將其插入另一個列表asd頭部,並返回這個元素。如果列表沒有元素則會阻塞列表直到超時,超時返回false。$ret = $redis->brpoplpush('key1', 'asd', 10); //返回列表長度$redis->lLen('key1'); //通過索引 (也就是下標key) 獲取列表中的元素,如果沒有該索引,則返回false。$redis->lindex('key1', 0); //通過索引修改列表中元素的值,如果沒有該索引,則返回false。$redis->lSet('key1', 2, '1'); //在列表key1中指定元素six前面或后面插入元素。若指定元素不在列表中,或列表不存在時,不執行任何操作 //Redis::AFTER插入元素后面 Redis::BEFORE插入元素前面 //返回值:插入成功返回插入后列表元素個數,若key1不存在返回0,若key1不是列表返回false$redis->lInsert('key1', Redis::BEFORE, 'one', '1'); //根據第三個參數(count),刪除掉相對的value //count > 0 : 從表頭開始向表尾搜索,移除與value相等的元素,數量為count。 //count < 0 : 從表尾開始向表頭搜索,移除與value相等的元素,數量為count的絕對值。 //count = 0 : 移除表中所有與value相等的值。 //返回實際刪除元素個數$redis->lrem('key1', '1', -2); //對一個列表進行截取,只保留指定區間 (如:下標1到10) 的元素,其他元素都刪除。成功返回true。$redis->ltrim('key1', 1, 10); // 獲取存儲的數據並輸出列表下標0到5的數據 // 0為開始查詢的列表里的第一個元素,-1則為最后一個元素 // 5代表查詢5條數據,當5為-1時則查看所有數據,$redis->lrange("key1", 0 ,5);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM