redis中有這樣一個陣列:
array =[1,2,3,4,5,6,7,8,9,0]
請問redis有沒有這樣一個方法實現如下:
functionName(array,0,5)
這個方法返回[1,2,3,4,5,6]
同時原來的array的結果變成[7,8 ,9,0]
請問redis中有這樣的方法嗎?
沒有的話,最簡單的實作是怎麼樣的呢?
PHP中文网2017-04-24 09:14:14
沒有類似的方法,可以這樣實現:
lorange 0, 5 得到前面6個元素
ltrim 7, -1 刪除第7個元素前面的元素
還有一些邊界條件,請查看文件。
黄舟2017-04-24 09:14:14
沒有。 redis裡只有pop類指令是在取值的同時進行刪除操作。而RANGE類別操作只能取一個指定區間內的數據,不能同時刪除它。
這種需求寫幾行PHP程式碼不就解決了嗎,不需要這麼糾結吧?