> 데이터 베이스 > Redis > redis는 특정 규칙의 키를 일괄 삭제합니다.

redis는 특정 규칙의 키를 일괄 삭제합니다.

王林
풀어 주다: 2021-03-11 09:37:27
앞으로
2261명이 탐색했습니다.

redis는 특정 규칙의 키를 일괄 삭제합니다.

1. 소개

캐시된 강좌 데이터 "course-course uid"와 같이 특정 규칙의 키를 일괄 삭제해야 하는 상황이 자주 발생합니다. "course -*"와 유사한 데이터를 삭제합니다. 그러나 redis는 이러한 유형의 키를 일괄 쿼리하기 위한 명령을 제공하지만 특정 유형의 키를 일괄 삭제하기 위한 명령은 제공하지 않습니다.

이제 해결 방법을 정리했으니 모든 사람에게 도움이 되기를 바랍니다.

2. 솔루션

먼저 어떻게 해결하는지 살펴보겠습니다.

1. 먼저 redis 클라이언트를 입력하세요

cd redis所在目录/src
./redis-cli
로그인 후 복사

2. 데이터 초기화 및 데이터 시뮬레이션

127.0.0.1:6379> set course-1 1
OK
127.0.0.1:6379> set course-2 2
OK
127.0.0.1:6379> set course-3 3
OK
로그인 후 복사

3. 이제 위의 세 가지 키가 있음을 확인할 수 있습니다

127.0.0.1:6379> keys  course-*
1) "course-3"
2) "course-2"
3) "course-1"
로그인 후 복사

4. 5.1, 키 로컬 일괄 삭제

127.0.0.1:6379> exit
로그인 후 복사

물론-*의 관련 키 3개가 삭제되었습니다

원리 분석:

먼저 redis 클라이언트를 통해 키 명령을 실행하고 xargs 명령을 통해 모든 키를 퍼지 검색합니다. 이전에 쿼리한 키는 후속 redis del 명령의 입력으로 사용됩니다

최종 실행 결과는

(동영상 공유 학습:

redis 비디오 튜토리얼

)1. 퍼지 쿼리

./redis-cli keys "course-*" | xargs ./redis-cli del
로그인 후 복사

query Out of 위의 코스-1 코스-2 코스-3 이 세 개의 키


2. 키를 삭제하는 세 개의 키

del은 이전 키 쿼리

keys "course-*"
로그인 후 복사

5.2 키의 원격 일괄 삭제

에서 자주 발생합니다. 그 당시에는 redis가 로컬이 아닐 수도 있습니다. redis 클라이언트를 통해 원격으로 삭제할 수 있습니다

del course-1 course-2  course-3
로그인 후 복사

3. 보충 지식

1. 원격 머신의 Redis

다음 예는 호스트에 연결하는 방법을 보여줍니다. : 127.0.0.1, 포트는 6379이고, redis 서비스의 비밀번호는 mypass입니다.

./redis-cli -h redis所在服务器ip -p 端口 keys "course-*" |xargs ./redis-cli -h redis所在服务器ip -p 端口 del
로그인 후 복사

2.xargs 명령

xargs 명령은 매개변수를 다른 명령에 전달하기 위한 필터이자 여러 명령을 결합하는 도구이기도 합니다. 자세한 코스웨어 http://man.linuxde.net/xargs

관련 권장 사항:

redis 데이터베이스 튜토리얼

위 내용은 redis는 특정 규칙의 키를 일괄 삭제합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:cnblogs.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿