복붙노트

[REDIS] 레디 스를 사용하여 데이터의 배열을 저장 (Laravel)에서

REDIS

레디 스를 사용하여 데이터의 배열을 저장 (Laravel)에서

나는 laravel로 작업하기 시작했다. 이 작업에 매우 흥미로운 일이다. 나는 laravel의 기능을 사용하기 시작했습니다. 내 시스템에서 레디 스 서버를 설치하고 레디 스에서 응용 프로그램 / 설정 / database.php 파일에 대한 구성을 변경하여 내가 사용 레디 스를 시작했습니다. 레디 스 세트를 사용하여 하나의 변수에 대해 잘 작동한다. 즉

$redis = Redis::connection();

$redis->set('name', 'Test');

그리고 난 사용하여 값을 수 얻을 수

$redis->get('name');

하지만 난 설정 기능을 사용하여 배열을 설정할. 나는 그 받고 다음과 같은 오류를 수행하려고하면

 strlen() expects parameter 1 to be string, array given 

나는 다음과 같은 코드를 사용하여 시도했다.

$redis->set('name', array(5, 10));

$values = $redis->lrange('names', array(5, 10));

그리고 내가 사용하는 경우

$values = $redis->command('lrange', array(5, 10));

다음과 같은 오류가

 'command' is not a registered Redis command 

어떤 사람이 나에게 문제를 설명하고 그 레디 스 가능합니다 수 있습니까? ... 우리는 레디 스를 사용하여 배열 값을 설정할 수 있습니까?

해결법

  1. ==============================

    1.이것은 의견이 아니라 미래에 방문 명에 대한 대답은 명확하게하는 대답하고있다.

    이것은 의견이 아니라 미래에 방문 명에 대한 대답은 명확하게하는 대답하고있다.

    이 PHP 또는 다른 언어에 대한 데이터 형식의 특정을 인식하지 않도록 레디 스 언어 불가 지론이다. 가장 쉬운 방법에는 직렬화하는 것입니다 / GET에 다음 unserialise /의 json_decode를 세트의 데이터를로 json_encode.

    로 json_encode를 사용하여 데이터를 저장하는 예 :

    use Illuminate\Support\Facades\Redis;
    
    $redis = Redis::connection();
    
    $redis->set('user_details', json_encode([
            'first_name' => 'Alex', 
            'last_name' => 'Richards'
        ])
    );
    

    예 json_decode를 사용하여 데이터를 검색 할 수 있습니다 :

    use Illuminate\Support\Facades\Redis;
    
    $redis    = Redis::connection();
    $response = $redis->get('user_details');
    
    $response = json_decode($response);
    
  2. from https://stackoverflow.com/questions/22718903/storing-an-array-of-data-using-redis-from-laravel by cc-by-sa and MIT license