2017-04-07 8 views

答えて

2

組み込みの方法はありません。手動でリストからアイテムを取得し、セットに挿入する必要があります。あなたのリストが小さい場合は、次のluaスクリプトを使用することができます:あなたのリストが非常に大きい場合

repeat 
    local item = redis.call('lpop', KEYS[1]) 
    if (item) then redis.call('sadd', KEYS[2], item) end 
until not item 

しかし、スクリプトが長い時間のためにRedisのをブロックします。

  1. コールLRANGEをからこれらの項目を削除するには
  2. コールLTRIMを設定するためにこれらの項目を挿入するには、リストからいくつかの項目(小ロット)
  3. コールSADDを取得する:あなたは、増分設定するために、リストから項目を移動する必要がありますリスト
  4. すべてのアイテムが移動されるまで、ステップ1に進みます。
関連する問題