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
同様のメソッドはありません。次のように実装できます:
最初の 6 要素を取得するには lorange 0, 5
ltrim 7, -1 は 7 番目の要素より前の要素を削除します
境界条件もいくつかあります。ドキュメントを確認してください。
黄舟2017-04-24 09:14:14
いいえ。 Redis では、値を取得するときに削除操作を実行するのは、pop 命令のみです。 RANGE タイプの操作では、指定された範囲内のデータのみを取得でき、同時に削除することはできません。
これは数行の PHP コードを書くことで解決できるのではないでしょうか? そんなに複雑にする必要はありませんよね?