>  기사  >  데이터 베이스  >  Redis에서 캐시를 삭제하는 방법

Redis에서 캐시를 삭제하는 방법

下次还敢
下次还敢원래의
2024-04-19 23:42:191043검색

Redis에서 캐시를 삭제하는 방법에는 직접 삭제(DEL 명령), 일괄 삭제(KEYS + UNLINK 명령), 퍼지 삭제(SCAN + UNLINK 명령) 및 시간 기반 만료(TTL)의 네 가지 방법이 있습니다.

Redis에서 캐시를 삭제하는 방법

Redis에서 캐시 삭제 방법

직접 삭제

지정된 키의 캐시를 직접 삭제하려면 DEL 명령을 사용하세요. DEL 命令直接删除指定键的缓存。

<code>DEL key_name</code>

批量删除

使用 KEYS 命令获取匹配特定模式的键,然后使用 UNLINK 命令批量删除这些键。

例如:删除所有以 product_* 开头的键:

<code>KEYS product_*
UNLINK $(keyspace_keys ...)</code>

模糊删除

使用 SCAN 命令迭代所有键,并使用 Python 等脚本语言中的 fnmatch 模块来匹配键。匹配的键可以用 UNLINK 命令删除。

例如:删除所有包含字符串 user_ID 的键:

<code class="python">import redis
import fnmatch

r = redis.Redis()
for key in r.scan_iter():
    if fnmatch.fnmatch(key, "*user_ID*"):
        r.unlink(key)</code>

基于时间到期 (TTL)

如果为键设置了 TTL,键将在到期时自动删除。

例如:设置键 user_info

<code>EXPIRE user_info 600</code>

일괄 삭제

KEYS 명령을 사용하여 특정 패턴과 일치하는 키를 가져온 다음 UNLINK 명령을 사용하여 이러한 키를 일괄 삭제합니다.

  • 예: product_*로 시작하는 모든 키 삭제:
  • rrreee
  • Fuzzy delete
🎜SCAN 명령을 사용하여 모든 키를 반복하고 Python과 같은 스크립트 키와 일치하는 언어의 fnmatch 모듈입니다. UNLINK 명령을 사용하여 일치하는 키를 삭제할 수 있습니다. 🎜🎜🎜예: user_ID 문자열이 포함된 모든 키 삭제: 🎜🎜rrreee🎜🎜시간 기반 만료(TTL) 🎜🎜🎜키에 TTL이 설정된 경우 키는 자동으로 만료됩니다. 삭제가 만료됩니다. 🎜🎜🎜예: user_info 키의 TTL을 10분으로 설정합니다. 🎜🎜rrreee🎜🎜Notes🎜🎜🎜🎜캐시 삭제 시 데이터 손실이 발생할 수 있으므로 보안에 주의하세요. . 🎜🎜퍼지 삭제를 사용하면 실수로 다른 키가 삭제될 수 있으므로 주의해서 사용하세요. 🎜🎜Redis 성능을 최적화하는 데 더 이상 필요하지 않은 캐시를 정기적으로 지웁니다. 🎜🎜

위 내용은 Redis에서 캐시를 삭제하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.