Redis Cache를 사용하면 Cache Key 값은 Interval 값(처리 가능)입니다. Interval의 Interval 번호가 전달되면 해당 Cache를 어떻게 찾나요?

WBOY
풀어 주다: 2023-03-02 13:04:01
원래의
1672명이 탐색했습니다.

예:
이제 배열이 있습니다.
배열(

<code>  '10000_20000'=>'上海',
  '20001_30200'=>'北京',
  '30201_30300'=>'天津',
  '30301_40000'=>'深圳'</code>
로그인 후 복사
로그인 후 복사

)
이제 배열의 각 값을 Redis 캐시에 저장하려고 합니다. 캐시 키 값은 처리 후 배열 키 값이 될 수 있습니다. 이때 값 38000을 전달합니다. 캐시에서 키값이 38000인 캐시값을 찾았는데 좋은 방법이 없을까요

안내 좀 부탁드려요!

답글 내용:

예:
이제 배열이 있습니다.
배열(

<code>  '10000_20000'=>'上海',
  '20001_30200'=>'北京',
  '30201_30300'=>'天津',
  '30301_40000'=>'深圳'</code>
로그인 후 복사
로그인 후 복사

)
이제 배열의 각 값을 Redis 캐시에 저장하려고 합니다. 캐시 키 값은 처리 후 배열 키 값이 될 수 있습니다. 이때 값 38000을 전달합니다. 캐시에서 키값이 38000인 캐시값을 찾았는데 좋은 방법이 없을까요

안내 좀 부탁드려요!

//배열에 키는 많지만 값이 작은 경우 순서가 지정된 세트를 사용하세요

<code>$redis->zAdd('key', 10000, '上海');
$redis->zAdd('key', 20001, '北京');
$redis->zAdd('key', 30201, '天津');
$redis->zAdd('key', 30301, '深圳');
$redis->zAdd('key', 40001, '非法');
$index = 38000;
$value = $redis->zRangeByScore('key', $index, '+inf', ['limit' => [0, 1]]); // 深圳</code>
로그인 후 복사

이 데이터는 불규칙합니다
내 생각은 foreach를 수행한 다음 올바른 부분을 꺼내서 크기를 비교하는 것입니다. 3800보다 크거나 같으면 루프를 중단하고 현재 키 값을 반환합니다. .
물론, 형식은 소규모부터 대규모까지 현재 보유하고 있는 것과 일치해야 합니다

redis-cli에는 다음과 같은 명령줄이 있습니다:keys [patten], patten은 정규식일 수 있으며 38000으로 끝나는 키를 찾는 명령은 다음과 같습니다:keys *38000. 해당 phpRedis 메소드 이름은 key, getKeys입니다. 자세한 내용은 key&getKeys

를 참조하세요.
관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!