개요: 시스템에 로그인하면 일부 정보를 구성할 수 있는 페이지가 있습니다. 정보를 구성한 후 다른 페이지를 계속 조작할 수 있습니다. 하지만 저의 일반적인 작업 습관은 탭 두 개를 여는 것입니다. 항상 열려 있는 구성 페이지 다른 탭 페이지는 작업 페이지입니다.
요구 사항 1: 구성 정보는 항상 저장되고 다음 로그인 이후에는 업데이트되지 않기 때문에 현재 구성 정보의 일부를 sessionStorage
中,但是两个标签页的sessionstorage
是不共享的,只有当前页面配置当前页面操作其他页面才有效,至于不用localStorage
에 넣었습니다.
요구 사항 2: 현재 프런트 엔드 획득 sessionStorage
中的信息的逻辑是这样的,如果存在该item
并且不为空,便直接用了,不会去后台取,这样的问题是多用户端场景时,其他用户更改了配置,当前客户端不能及时获取最新配置信息,我有一个思路是参照http 3xx
的做法,每次前台get配置信息时,都往后台放松一个请求,如果lastmodifiedtime
이 변경되지 않은 경우 로컬 데이터를 계속 사용하세요. 변경되면 최신 구성 정보가 반환됩니다. 좋은 제안이 있으면 공유해 주세요.
혹시 더 좋은 아이디어나 제안이 있으신지 궁금합니다
仅有的幸福2017-05-19 10:13:00
그러한 필요에 직면하면 내가 하는 일은:
요구 사항 1: LocalStorage를 사용하지만 키 이름에는 item&1494485763;
과 같이 만료 시간이 포함됩니다.요구 사항 2: 구성 항목이 요청될 때마다 요청 요청은 마지막 수정 시간의 쿠키 값을 전달합니다. 마지막 수정 시간이 동일하면 비어 있는 값을 반환하고 그렇지 않으면 최신 구성 항목을 반환합니다.
phpcn_u15822017-05-19 10:13:00
localStorage를 사용한 다음 로그인 페이지의 시작 페이지에서 재설정하면 충분하지 않나요?
그러면 요구사항 2는 만료 시간을 설정하는 것입니다. 마지막 로컬 저장소 이후 10분이 경과한 경우. 데이터를 다시 가져옵니다.
大家讲道理2017-05-19 10:13:00
localStorage 또는 indexedDB를 사용할 수 있습니다.
캐시된 데이터 처리를 위해 만료 메커니즘을 설계하거나 각 트랜잭션에 대해 UUID를 생성하고 모든 트랜잭션이 완료된 후 캐시를 지울 수 있습니다.
世界只因有你2017-05-19 10:13:00
localStorage는 문제를 완전히 해결할 수 있습니다. 저장한 정보가 변경된 경우 localStorage에서 해당 저장 정보를 업데이트하면 됩니다. 물론, 민감한 정보가 있을 경우에는 브라우저에 저장할 수 없습니다.