제목 | 20분뒤 특정 디비에 있는 값을 '자동으로' 지우고 싶습니다. | ||
---|---|---|---|
글쓴이 | 피스트 | 작성시각 | 2012/09/11 00:19:47 |
|
|||
가능할까요?비슷한 구현을 들어본적이 없어서;; 사용자가 사이트에 들어와서 본인 이름과 생일 정도를 입력하면 서버에서 세션(또는 쿠키)을 생성하고 어떤 값을 디비에 insert 합니다. 20분뒤 (또는 세션이 파기될때) 저장한 그 값을 자동으로 서버에서 지우고 싶은데, 어떻게 할지 도통 감이 안오네요; cron을 이용해서 20분뒤 자동 php 실행을 할수도 없고..방법이 있을까요? |
|||
다음글 | count 속도 차이 (2) | ||
이전글 | calendar 클래스에서요 (1) | ||
milosz
/
2012/09/11 09:30:06 /
추천
0
cron을 쓰거나... 아니면 가사 cron을 구현하는 것 외엔 없어보이네요.
디비에 시간값과 함께 저장해서 20분 이후로는 없는 데이터로 취급하는 방법 정도 생각이 나네요.
|
변종원(웅파)
/
2012/09/11 09:38:59 /
추천
0
ci db세션을 사용하시고 세션core를 살짝 수정하시면 가능합니다.
세션 exfire 시킬때 세션 비교해서 그 값을 삭제하는 함수 하나 끼워넣으면 되구요. 또 한가지는 insert할때 insert시간을 db에 넣고 크론으로 1분마다 돌리는 방법이 있습니다. 현재 시간 기준으로 20분 전 insert값 삭제. |
인스카
/
2012/09/11 13:01:08 /
추천
0
방문자가 꾸준하게 유입되는 시스템인 경우 이벤트 큐를 DB에 쌓고, 매 방문마다 이벤트를 확인하는 방법이 있습니다만, 혹시라도 방문자가 없으면 이벤트가 일어나지 않을 수 있고 시스템 전체 퍼포먼스가 떨어질 수 있습니다.
또는 ajaxForm을 통해서 백그라운드로 서버단에 요청을 보내고, 서버에서는 20분 뒤에 뭔가가 실행되게 할 수도 있습니다만, 역시나 서버에 무리를 줄 수 있습니다. 저는 위의 두 가지 방법을 적절하게 섞어서 사용 중입니다. |
milosz
/
2012/09/11 17:03:59 /
추천
0
mysql의 Event Scheduler를 사용하셔도 되긴 하는데... 상황에 맞을진 잘 모르겠네요~
|