2017-11-17 12 views
0

Memcached을 사용할 때 값 배열에서 하나의 요소 만 업데이트 할 수 있습니까?Memcached는 값 배열의 단일 요소 만 업데이트합니다.

(key)boots => 
(value)[ 
    [ 
     'id' => 1, 
     'type' => 'winter boots' 
    ], 
    [ 
     'id' => 2, 
     'type' => 'summer boots' 
    ], 
    [ 
     'id' => 3, 
     'type' => 'spring boots' 
    ] 
] 

그리고 내가 업데이트하면 내가 어떻게이 만 새 데이터를 가져 오지한다 ('여름 부츠'가 '모든 시즌 부츠는'말할 수) : 나는 키 boots이 키의 값을 설정 말할 수 것은 MySQL 데이터베이스 테이블에서 제품을 업데이트하고 특정 제품을 새로 고치지 않고 모든 제품 데이터를 검색하지 않고 전체 값을 업데이트하지 마십시오 (이것이 바로 memcached의 작동 방식입니까?)? merge sort, quicksort과 같은 종류의 정렬 알고리즘을 사용해야합니까, 아니면 다른 캐싱 시스템을 사용해야합니까? 나는 내가 뭘 찾고 있는지 설명하기를 바랍니다. 미리 감사드립니다.

답변

0

가능한 유일한 방법은 memcache에 저장된 전체 개체를 가져 와서 변경 한 다음 다시 저장하는 것입니다.

또 다른 방법이 있습니다. memcache에 저장하는 요소를 얼마나 자주 업데이트하고 저장하는 요소의 크기를 확인하십시오.

매우 큰 배열 인 경우 전체 개체를 memcache에 저장하는 것은 의미가 없습니다.

(키) boots_1 => (값) 겨울 부츠

(키) boots_2 => (값) 여름 : 다음 그것은 다음과 같이 보일 것입니다 다른 키 등의 각 항목을 저장하기 위해 더 나은 전자 것 부츠

(키) boots_3 => (값) 스프링 부츠

이는 독립적으로 키를 변경할 수있는 것입니다 그리고 당신은 모든 키를 얻기 위해 memcache에에서 multiget을 할 수 있습니다.