랜덤게시글 모듈을 이용해서 랜덤게시글 열람할 수 있도록 게시판 스킨에 버튼을 적용했습니다.
물론 저희 라이믹스 꿀팁에는 랜덤게시글 수요는 없습니다. 왜냐면 가볍게 읽는 유머나 혹은 특정한 공통 관심사의 사진이 올라오는 게시판이 있거나 한 커뮤니티가 아니기 때문이죠.
라이믹스 꿀팁은 저에게는 개발 연구소와 같은 개념으로 실 운영하는 사이트에 적용을 하려는 것을 먼저 적용하고 하는 것이라 굳이 필요 없는 기능들이 많이 추가되고는 합니다. 이 랜덤게시글 버튼도 그런 경우인데요.
랜덤게시글을 읽으려는 수요는 굳이 게시글을 특정해서 읽지 않아도 되는 그런 게시판들에서 랜덤하게 하나씩 읽으면서 즐거운 시간을 소비하길 원할 경우 매우 유용한 기능이겠죠.
이러한 목적에 맞는 모듈이 바로 랜덤게시글 모듈입니다. 지정한 게시판들에서 랜덤으로 1개를 뽑아서 해당 게시글로 이동을 하게 해주는 모듈입니다. 그런데 db에서 매번 1개를 뽑다 보니 db 사용이 너무 많습니다. 그래서 이러한 비효율 적인 부분을 생각하다가 이번에 db의 문서번호를 1번만 가져와서 캐시에 저장하고 이후에는 db에 조회할 필요 없이 이 캐시에 저장된 배열에서 1개씩 뽑아서 이동하는 것으로 해서 나름 db를 매번 괴롭히는 비효율을 개선했습니다.
게시글이 수만개 된다면 매번 수만개의 게시글을 db에서 리스트업 한 후 1개를 뽑는 것은 상당히 비효율적으로 매번 부하를 발생한다고 볼 수 있을 것 입니다.
운영하는 커뮤니티 중에는 이미 랜덤게시글 기능을 제공하고 있던 곳도 있고 이번에 나머지 사이트들에도 기능을 제공하려고 db에 매번 조회해야 하는 방식을 살짝 개선해서 모두 적용을 했습니다.
그리고 추가로 모듈의 스킨을 불러와서 스킨에서 뽑힌 게시글로 이동하는 스크립트가 작동하는 것도 스킨을 불러오는 과정 필요없이 뽑힌 게시글로 php단에서 바로 이동하게 바꾸어서 동작도 훨씬 깔끔하고 불필요한 과정이 생략되었습니다.
여기 라이믹스 꿀팁이 아닌 다른 커뮤니티에서 사용될 경우 더 편리할 것 같은 랜덤게시글 기능을 2가지 관점에서 개선을 해서 나름 만족한 작업이었습니다.
오.. 랜덤게시글 버튼이라니! 기발하네요!
랜덤게시글 모듈은 오래전부터 배포되는 모듈이라 많이들 사용합니다. 다만 매번 db에서 모든 글을 리스트업 한후 랜덤으로 하나를 뽑는 방식이 맘에 들지 않아 캐시를 적용해서 사용하고 있어요.
검색