欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

redis實現(xiàn)刪除list中特定索引的值

 更新時間:2024年05月30日 14:38:24   作者:lbzz  
這篇文章主要介紹了redis實現(xiàn)刪除list中特定索引的值,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

redis刪除list中特定索引的值

Redis可以通過LINDEX key index獲取list中的特定值, 但無法直接刪除特定索引下的值.

LSET與LREM結合刪除list中特定索引的值

兩步:

  • 先用LSET在指定索引位置上設置特殊值: LSET key index value在指定索引位置的值替換為value
  • 再用LREM刪除該特殊值: LREM key n value, 從左邊刪除n個value

例如:刪除list1索引3對應的在值

LSET list1 3 del
LREM list1 1 del

補充

在Redis中, list是雙向鏈表有兩種索引:

  • 正向索引: 0, 1, 2, 3, ...
  • 逆向索引: -1, -2, -3, ...

與刪除的相關的操作有:

  • LPOP / RPOP key: 從左邊/右邊彈出一個值
  • LREM key n value: 從左邊刪除n個value
  • LTRIM key begin-index, end-index: 僅保留指定區(qū)間的元素

Redis的區(qū)間都是閉區(qū)間, [begin-index, end-index]

redis對于刪除list中的某個元素

近期要接im,我們的信息都是放到redis的緩存中,結構為list,如果知道特定的值的話,通過LREM  key  count  value這樣就可以。對于redis的list結構,獲取某個位置的值通過 LINDEX  key   index,如果想要獲取list的長度,通過LLEN  key來獲取。對于list中特定值的刪除。

我們打算獲取全部的list中全部的內容,然后便來你找到要刪除的值,通過LREM  key  count  value 刪除。

LREM key count value

根據(jù)參數(shù) count 的值,移除列表中與參數(shù) value 相等的元素。

count的值可以是以下幾種:

  • count > 0 : 從表頭開始向表尾搜索,移除與 value 相等的元素,數(shù)量為 count 。
  • count < 0 : 從表尾開始向表頭搜索,移除與 value 相等的元素,數(shù)量為 count 的絕對值。
  • count = 0 : 移除表中所有與 value 相等的值。

自己寫了個lua腳本,做了一個刪除的過程:

local result={}
--list key
local key="test"
local size=0
redis.call("select",2)
-- 長度
local length=redis.call("llen",key)
-- 要刪除的value
local findKey="msg:382";
if(length>0)then
    --獲取去全部的list
    local values=redis.call("Lrange",key,0,length-1)
    local index=-1
    for i = 1, length,1 do
        if(string.find(values[i],findKey))
        then
            index=i
            redis.call("LREM",key,0,values[i])
            break
        end
    end
    return true
else
    return false 
end

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Redis server 主從復制配置實現(xiàn)

    Redis server 主從復制配置實現(xiàn)

    從復制是指將一個Redis服務器的數(shù)據(jù)復制到其他Redis服務器的過程,本文主要介紹了Redis server 主從復制配置實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • Go語言操作RediSearch進行搜索方法示例詳解

    Go語言操作RediSearch進行搜索方法示例詳解

    這篇文章主要為大家介紹了Go語言操作RediSearch進行搜索方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • 淺談Redis存儲數(shù)據(jù)類型及存取值方法

    淺談Redis存儲數(shù)據(jù)類型及存取值方法

    這篇文章主要介紹了淺談Redis存儲數(shù)據(jù)類型及存取值方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-05-05
  • Redis之SDS數(shù)據(jù)結構的使用

    Redis之SDS數(shù)據(jù)結構的使用

    本文主要介紹了Redis之SDS數(shù)據(jù)結構的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • 基于Redis實現(xiàn)共享Session登錄的實現(xiàn)

    基于Redis實現(xiàn)共享Session登錄的實現(xiàn)

    本文主要介紹了基于Redis實現(xiàn)共享Session登錄的實現(xiàn),包括發(fā)送短信驗證碼、短信驗證碼登錄和注冊、以及登錄狀態(tài)校驗的流程,具有一定的參考價值,感興趣的可以了解一下
    2025-03-03
  • 無法啟動Redis打開redis-server閃退的問題解決辦法

    無法啟動Redis打開redis-server閃退的問題解決辦法

    正常開啟redis服務,首先要啟動redis-server.exe,但是閃退,導致無法開啟redis服務,這篇文章主要給大家介紹了關于無法啟動Redis打開redis-server閃退問題的解決辦法,需要的朋友可以參考下
    2024-07-07
  • Redis集群擴容的實現(xiàn)示例

    Redis集群擴容的實現(xiàn)示例

    本文介紹了在虛擬機上新建Redis集群,并將新增節(jié)點加入現(xiàn)有集群,通過配置文件和`redis-cli`命令,成功實現(xiàn)了Redis集群的擴容,感興趣的可以了解一下
    2025-02-02
  • Redis實現(xiàn)排名功能的示例代碼

    Redis實現(xiàn)排名功能的示例代碼

    本文主要介紹了Redis實現(xiàn)排名功能的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 基于redis.properties文件的配置及說明介紹

    基于redis.properties文件的配置及說明介紹

    今天小編就為大家分享一篇基于redis.properties文件的配置及說明介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Redis?生成分布式業(yè)務單號的實現(xiàn)

    Redis?生成分布式業(yè)務單號的實現(xiàn)

    在業(yè)務系統(tǒng)中很多場景下需要生成不重復的ID,本文主要介紹了Redis生成分布式業(yè)務單號的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2024-04-04

最新評論