CI 묻고 답하기

제목 조회수 문제 새로고침할 때마다 증가 합니다.
글쓴이 문군 작성시각 2015/11/30 16:38:08
댓글 : 9 추천 : 0 스크랩 : 0 조회수 : 19450   RSS

조회수 문제 새로고침할 때마다 증가 합니다.

진짜 조회수가 아닌 새로고침 할 때마다 증가 하게 되어 있더라구요.

뭔가 조회수에 대한 로직을 다시 생각 해봐야 할 것 같은데 제가 하는 시스템에 구축한다면 어떻게 설계하면 좋을까요?

 다음글 코어 controller 확장 (3)
 이전글 컨트롤러의 함수로드 질문입니다! (5)

댓글

한대승(불의회상) / 2015/11/30 16:43:07 / 추천 0
쿠키를 이용한다거나, 세션을 이용한다거나, 조회한 IP를 저장한다거나 3가지 방법을 조합 한다거나 하는 방법을 사용하면 됩니다.
문군 / 2015/11/30 17:45:35 / 추천 0
한대승(불의회상) 넵 감사합니다.
스카이 / 2015/11/30 23:30:15 / 추천 0
저는 주로 쿠키를 사용합니다.
마지막 글 번호를 쿠키에 저장하고, 새로고침(또는 글 읽기)를 할 때, 쿠키에 저장된 번호와 현재 글 번호가 일치하면, 조회수를 증가하지 않죠.
무론 DB 에 영구 기록하는 방법도 있겠구요.
 
문군 / 2015/11/30 23:36:35 / 추천 0
넵 스카이님 감사합니다. 예를 들면 어떤 테이블 스키마로 구성하면 좋을까요?!
문군 / 2015/11/30 23:37:17 / 추천 0
같은 아이피면 더이상 증가 하지 않게 하고 싶은데요.
스카이 / 2015/12/01 01:13:56 / 추천 0
테이블로 하는 경우에는 자료가 너무 많이 기록되는 것 같아요.

- 로그인을 하지 않고 글을 보는 경우,
- 첫 방문인 경우,

등을 놓고 볼 때, 회원 번호로는 테이블을 구성 할 수 없죠.

IP 를 기반으로 한다면, 로봇 접속은 제외를 해야 하죠.

IP 와 글번호를 Unique index 로 잡고, 마지막으로 글을 읽은 시점의 Unix timestamp 값을 기록하면 어떨까요?

그래서 1주일이 지난 IP 와 글번호는 삭제를 하는 것입니다. 
 
스카이 / 2015/12/01 01:14:43 / 추천 0
그런데 아무리 생각해도 개인적인 의견으로는 DB 에 저장하는 것은 좀 무리인 것 같습니다.
그냥 쿠키에 저장하는 것이 좋지 않을까 생각을 합니다.
 
kaido / 2015/12/01 10:14:00 / 추천 0
uv [유니크 뷰] 기능이 생각보다 고려할 사항이 많지요.

uv에는 사실 구현 방법이나 정책에 따라 형태가 많이 다릅니다.

1. 비회원 로그인 회원의 카운터 증가 유무
2. 하루 단위로 갱신 [하루가 지나서 다시 클릭하면 카운터 증가]
3. 한명이 한 게시물을 1히트 만 올릴수 있음 [2번과 반대 상황]
4. 같은 회원이라도 로그인 지점에 따라서 달라짐 [ip 기반인 경우]
5. 로그인 할때 마다 더 올릴수 있음 [생성된 세션 sid 기준]

기타 여러 종류가 있긴 한데... 이중에서 겹치는 것은 새로고침에 의한 카운터 증가를 안하겠다.

라는게 가장 핵심 입니다.

다만 요즘엔 히트수가 높아야 좋아 보인다고 ( ..) uv 기능을 오히려 빼달라고도 합니다.

정답은 없으니 판단에 맞게 구현 하세요.
문군 / 2015/12/04 12:18:38 / 추천 0
kaido /님 감사합니다.