반응형
내 솔루션은 다음과 같습니다.
이 솔루션은 괜찮습니까?
그리고이 일을하기위한 최선의 전략은 무엇입니까?
해결 방법
아무것도 해킹 할 필요가 없습니다.)
키에서 HSET, HMSET, HDEL 및 DEL 명령을 구독 할 수 있으므로 키가 삭제되거나 해시 값이 설정 또는 제거 될 때마다 알림을 받게됩니다.
알림을 놓친 경우 불일치가 발생합니다. 따라서 가끔 SCAN 명령을 사용하여 모든 키를 살펴보고 업데이트가 필요한지 mysql을 확인할 수 있습니다.
또 다른 전략은 두 개의 개별 구조를 유지하는 것입니다. 하나는 값이있는 해시이고 다른 하나는 업데이트 타임 스탬프별로 정렬 된 모든 값의 ZSET입니다. 두 구조를 최신 상태로 유지하는 가장 좋은 방법은 해시와 zset에서 원자 적으로 작동하는 2 ~ 3 개의 lua 스크립트 (삽입 / 업데이트 및 삭제)를 작성하는 것입니다.
그런 다음 ZSET에서 마지막 동기화 작업보다 높은 타임 스탬프가있는 요소를 정기적으로 쿼리하고 업데이트 된 모든 키를 가져온 다음 (두 번째 ZSET을 독점적으로 유지하려는 경우가 아니면 삭제 된 키를 포함합니다) 키로 모든 요소를 검색하고 mysql에 동기화하십시오.
그것이 당신을 위해 작동하기를 바랍니다!
참조 페이지 https://stackoverflow.com/questions/23080557
반응형
'MySql' 카테고리의 다른 글
MySQL 테이블이 비어 있는지 확인하십시오. COUNT (*)가 0 대 LIMIT (0,1) 결과가 있습니까? (0) | 2020.12.07 |
---|---|
MySQLi와 같은 PDO Fetch Array (0) | 2020.12.07 |
MySQL Codeigniter는 db에서 행 삭제 (0) | 2020.12.07 |
MySQL Union 또는 Join 사용-더 빠른 것 (0) | 2020.12.07 |
MySQL 내부 조인 테이블에 인덱스를 강제하는 방법은 무엇입니까? (0) | 2020.12.07 |
댓글