redis를 그냥 띄우게 되면 데이터를 무한정 넣을 수 있다. 음? 인메모리 데이터 그리드에 데이터를 무한정 넣을 수 있다고? 그런 말도 안 되는 일이 어떻게 일어나는 걸까. 그 비밀은 바로 maxmemory라는 설정에 있다. 레디스는 maxmemory를 별도로 설정하지 않으면 메모리 제한을 걸지 않는다. 그렇다면 모든 메모리를 잡아먹게 되는 경우라면 어떨까? 그럴 경우에는 디스크의 스왑 영역까지 사용하게 되며, 이 때부터 레디스의 성능이 급격하게 저하된다. 떠올려보면 이러한 케이스가 몇 번 있었던 것 같다. 레디스를 단순히 적당한 수준에서의 캐싱이나 TTL을 걸어 토큰을 저장하는 경우에는 크게 문제 될 일이 없었다. 하지만 학교 공지사항을 스크래핑하는 크론잡을 만들어서 공지사항에 대한 내용을 전부 레디..
예전에 레디스에 대해서 재미있게 다룬 내용을 보았다. 그 당시에는 레디스에 대한 그렇게까지 자세힌 이해도는 없었던 것 같다. 하지만 워낙 글쓴이의 필력이 대단해서 어느새 마지막 문단을 읽고 있었던 것 같다.[June] 레디스의 50가지 그림자 : https://papercut.blog/235 레디스(Redis)의 50가지 그림자터미널에 비친 로그에 좌절해서 얼굴을 찌푸렸다. 이 몹쓸 캐시는 얌전히 데이터를 가지고 있을 생각을 하지 않았다. 원래 캐시는 데이터를 유지할 의무가 없었지만, 몹쓸 개발자였던 나는 일관papercut.blog 예전에는 그냥 레디스라고 하면 그냥 캐시 할 때 쓰는 거 아닌가? 정도였다. 그 외에 레디스에 대한 것이라면 특징 정도가 있겠다. 예를 들면 인메모리 데이터 그리드라는 것,..
필자가 평소에 가장 많이 사용하는 데이터베이스는 postgreSQL이라고 부르는 데이터베이스이다. 무료로 사용할 수 있는 데이터베이스이며, mysql과 함께 많이 사용하는 관계형 데이터베이스이다. 보통 일반적으로는 pgAdmin이라고 불리는 데이터베이스 툴을 통해서 GUI 환경에서 DB를 관리할 수 있으나, 필자는 젯브레인즈 학생 라이선스 인증을 통해서 datagrip을 사용하기 때문에, Terminal의 psql 명령어를 통한 CLI 조작 + datagrip을 통한 GUI 조작을 통한 개발 환경을 갖추고 있다. 이번 포스팅에서는 기본적인 데이터베이스 생성 방법에 datagrip을 통해 모니터링하는 과정까지를 포스팅하려고 한다. MAC 환경을 기준으로 설명한다. 본론postgresql 설치먼저 postg..
서버를 이전하기 위해서 어느날 datagrip으로 postgres server에 커넥션을 물었더니 에러가 발생했다. DB는 주로 postgres를 쓰는 편인데, 모든 local postgres 서버가 커넥션에 실패하는 것을 보고 터미널로 에러를 확인해보았다. psql: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed: No such file or directory Is the server running locally and accepting connections on that socket? 어떻게 된 일인가 싶어 그대로 구글링해보니 상당히 많은 레퍼런스가 나왔다. 생각보다 빈번히 발생하는 에러인 것 같아 쉽게 해결할 수 있을 줄 알았으..