php는 매일 특정 수의 쿼리를 제한합니다. 이를 달성하는 방법은 무엇입니까?
php는 매일 특정 수의 쿼리를 제한합니다. 이를 달성하는 방법은 무엇입니까?
정답은 위층입니다.
단일 사용자 제한 쿼리 볼륨이라면 데이터베이스에 기록하고 순차적으로 증가시킨 후 저녁 12시에 삭제하는 번거로운 방법이 있을 수 있습니다. 그것을 지우는 데 사용되었습니다.
좋은 방법은 redis에 用户ID+标识
을 key
로 작성하는 것입니다.
단일 사용자 기준이 아닌 전체 쿼리량 기준으로 제한하는 경우 위의 두 가지 방법 외에 텍스트 파일로 작성하는 방법도 있습니다. 读取
, 比较
,+1
,写入
사실 위 내용을 토대로 필요한 조치는 取值
, 比较
, +1
, 写入
뿐이지만 필요에 따라 미디어가 다릅니다.
그런데 필요한 경우 예약된 작업에도 사용할 수 있습니다.
간단히 말하면 하나의 쿼리가 한 번에 하나씩 기록됩니다. 인간의 제한된 쿼리와 원칙적으로는 차이가 없습니다.
기본 아이디어: 한 번 쿼리하고 데이터베이스를 한 번 증가시킵니다.
쿼리량이 많으면 당연히 성능이 저하됩니다.
그런 다음 Redis 등을 사용하여 각 증분마다 메모리에 캐시하여 효율성을 높입니다. 가끔씩/특정 개수씩 전체 업데이트됩니다