2016-09-09 5 views
0

たとえば、私はRedis/Predisでキャッシュされた100000エントリの配列/ jsonを持っています。それは1つ以上のエントリを更新または削除する可能性がありますか、または100000エントリの全体の配列/ jsonを生成する必要がありますか?そして私はそれをどのように達成することができますか?Laravel Predisが配列内の1つのキーを更新/削除する

+0

あなたは特別な更新は/パターンを削除する必要がありますか?配列の先頭または末尾の項目のみを削除しますか?アイテムをランダムに削除しますか?値またはインデックスでアイテムを削除しますか? –

答えて

1

あなたはそれを文字列として保存されている場合、それはあなたがそれらを保存する方法についてですが、その後なし、

ここ
set key value 
get key -> will return you value 

値は10000のエントリで、あなたのJSON /配列です。

代わりにハッシュに格納する場合。 http://redis.io/commands#hash

メンバー1を個別に更新/削除することができます。

あなたはセット/リストを使用している場合は、選択にあなたに多くの柔軟性を提供しますRedisのデータ構造についての詳細を知るためのコマンドのセクションを読んでくださいlpush/LPOP、SREMなど

のようなコマンドでそれを達成することができますあなたの構造。

希望は、これが

+0

これは私が望むものだと思う、$ client = Redis :: connection(); $ client-> hmset( 'my:hash'、['field1' => 'value1'、 'field2' => 'value2']);$ changevalue = Redis :: hset( 'my:hash'、 'field1'、 'newvaluesssssssssss');$ values1 = Redis :: hmget( 'my:hash'、 'field1');$ values2 = Redis :: hmget( 'my:hash'、 'field2'); print_r($ values1); print_r($ values2); – Bas

0

あなたはキャッシュサービスを使用している場合に、あなたが持っている:

  • は、いくつかのエントリセーブデータ
  • バック

あなたは使用することができ、キャッシュ内のキャッシュ

  • 更新からデータを取得高度なRedisデータ構造(Hashなど)がキャッシュサービスでサポートされていない場合は、独自の関数を記述する必要があります。

  • 0

    おかげカーティケヤンGopallを助け、私は例を作った: ここで私は、フィールド1の値を変更し、それが動作します:)

    $client = Redis::connection(); 
        $client->hmset('my:hash', ['field1'=>'value1', 'field2'=>'value2']); 
        $changevalue= Redis::hset('my:hash' , 'field1' , 'newvaluesssssssssss'); 
        $values1 = Redis::hmget('my:hash' , 'field1'); 
        $values2 = Redis::hmget('my:hash' , 'field2'); 
    
        print_r($values1); 
        print_r($values2); 
    
    関連する問題