In-memory 데이터베이스인 Redis를 리눅스에 설치하고 이를 확인하는 간단한 방법에 대하여 자세히 알아봅니다. 먼저 먼저 redis는 무엇인지 간단하게 알아봅니다.# Redis란 무엇인가Redis는 in-memory 방식의 데이터베이스입니다. 다른 데이터베이스와 동일하나 데이터의 저장소를 하드디스크, SSD가 아닌 메모리를 사용하는 것이 특징입니다. 메모리를 사용하기 때문에 속도와 성능이 매우 뛰어나며 그런 이유로 주 데이터베이스로 사용되기 보다는 캐싱(Cache)이나 메시지 통신 등에 많이 사용됩니다.! 리눅스에 Redis 설치하기먼저 리눅스에 redis를 ...
Python에서 redis를 데이터베이스로 사용하는 경우 get() 또는 hget()을 사용하여 값을 불러오거나 저장하게된다. 이때 만약 hget()을 사용한다면 어떻게 저장하고 불러와서 보여줄 수 있을지 알아보자. 또한 이 둘의 차이점 역시 아래에서 알아본다.# get() 그리고 hget() 차이점먼저 hget()은 hashget으로 get()과는 다르다... get()은 set()과 함께 사용하며 set()을 사용해 key에 매칭하는 값을 string인 문자열로 저장하고 get()으로 불러온다. 반면 hget()은 객체처럼 동작하는 redis 하나의 타입으로 hs...
데이터베이스를 좀 더 효과적으로 사용할 수 있는 방안에 대하여 함께 고민해보려한다. 현재 웹사이트 webisfree.com을 기준으로 좀 더 효과적인 데이터베이스 운영 방안은 없을까?현재 webisfree.com은 많은 글들이 오랜기간에 쌓여있다. 일일 방문자 역시 적지않으며 이를 대응하기 위하여 좀 더 효율적인 db관리 및 운영이 필요하다. 먼저 어떤 부분이 개선이 필요할까? 현재 당면한 문제는 아래와 같다.많은 수의 MongoDB 조회 및 업데이트 콜 줄이기다양한 장르의 글을 제공하다보니 신규 글 및 관련 글... 추천 글 등등 너무 많은 데이터베이스 콜이 존재했...
Python에 redis cache를 적용하면서 view count... 방문자가 올때 카운트 값을 1을 늘리기위해 데이터베이스를 업데이트하는 일이 너무 비효율적으로 보였다. 뭔가 방법이 없을까?만약 방문자의 일일 페이지뷰가 100만명이라면 최소 100만번의 데이터베이스 콜과 업데이트가 이루어지게된다... 아무리 적은 데이터라도 데이터베이스에 이렇게 많은 콜 request는 매우 비효율적일 것이다. 좋은 방법이 없을까 고민하면서 캐쉬서버 redis를 최대한 활용하면 더 좋을 것 같다.# 얼마나 데이터를 잃을 수 있는가사실 이 부분은 데이터를 잃을 수 있다는 여지를 남...
미뤄만왔던 redis cache 서버의 구축이 얼마 전 완료되었습니다. 시작부터 완료까지 있었던 크고 작은 부분들의 로그입니다.! redis 꼭 필요한가?사실 대규모 트래픽이 없는 상황에서 반드시 필요한 것은 아니었죠. 다만 향후 로그관리 및 애널리틱스를 위한 트래킹을 별도 관리하려면 언젠가는 꼭 필요한 작업이었기에 더 이상 미루지않기로 했습니다.# Python에 redis 구축의 난이도서버 연동부터 설정의 부분들은 어려울 것 없이 이루어졌습니다. redis 자체가 단순한 key, value 방식으로 이루어져 간단한 restful 방식의 SNS 모듈을 별도로 만든 후...
redis-cli는 redis를 우분투 쉘에서 직접 컨트롤 할 수 있는 Command Line Interface로 많이 사용됩니다. 만약 redis는 이미 설치되었으나 redis-cli가 없는 경우 이를 사용하려면 어떻게 할까요?제 경우 python flask에서 사용되는 flask-redis를 설치하였으나 redis-cli가 포함되어 있지 않아 따로 인스톨이 필요합니다.# ubuntu에 redis-cli 설치하기ubuntu에서 apt-get의 redis-cli로는 설치되지 않은 경우 아래처럼 redis-tools를 사용하면 redis-cli를 사용할 수 있습니다.$...
최근 운영중인 웹서버에 redis cache를 적용하려고 결정을 하였습니다. 그 이유로는 혹시 모를 db서버의 다운을 방지하려는 것도 있지만 빠른 서비스가 seo에도 큰 영향을 미칠 수 있기 때문이죠. 이런 이유로 redis cache는 필수적이라 생각했습니다. 다만 그 효과가 얼마나 될까의 궁금증이 바로 생겨났죠.# 그래서 redis 사용시 얼마나 빠를까...요즘은 디스크 방식이라도 메모리를 사용하는 SSD(Solid State Disk)가 많이 사용됩니다. 같은 메모리라도 처리 방식이 다르고 주메모리를 사용하는 인메모리(In-memory) 방식이 더 빠를 것이라 ...
Redis 서버의 구축 및 운영 등 여러가지 방안에 대하여 생각한 바를 정리한 내용이다. 먼저 Redis 서버가 필요한 이유는 무엇일까...# Why Redis?Redis를 왜 구축하는가를 아려면 Redis가 무엇인지부터 알아야한다. ! Redis란?Redis는 데이터베이스의 여러 솔루션 중 하나로 메모리를 사용하는 키, 밸류 형식의 데이터베이스이다. Redis의 최고 장점은 메모리를 사용하기 때문에 매우 빠른 속도를 자랑한다. 일반적인 하드 디스크에 비하여 상대적으로 엄청나게 빠를수도 있다. 다만 메모리라는 제약으로 공간이 크지 않고 키, 밸류(Key, Value)...
어플리케이션 아키텍처(Architecture) 단계에서 많이 고려되는 Redis 데이터저장소에 대하여 자세히 알아봅니다. Redis는 무엇이고 어떤 장점과 단점이 있는지 그리고 설치하는 방법 등에 대하여 알아봅니다.# Redis란 무엇인가, Redis의 이해Redis는 Remote Dictionary Server의 약자입니다. Redis는 In-Memory 방식으로 메모리를 사용하여 CRUD를 수행, 데이터를 저장하는 Data Storage입니다. NoSQL 방식의 데이터베이스로 Redis는 다른 데이터저장소에 사용되는 하드디스크(HDD), SSD 방식이 아닌 메모리...
데이터베이스로 사용되는 Redis와 MongoDB를 비교하는 글을 작성하려고 합니다.# Redis와 MongoDB 비교하기글을 시작하기에 앞서서 두 데이터베이스를 비교하는 것 자체는 무리가 있습니다. 그 이유는 보통 Redis와 MongoDB를 함께 사용하는 경우가 더 많기 때문입니다...이런 이유로 장점과 단점을 따지기는 조금 어렵습니다. 둘 다 사용하는 목적이 다르고 그 목적에 따라 각각의 장점을 지니고 있습니다.! 아래는 간략한 두 DB의 비교입니다.아래는 간략한 두 DB의 비교입니다. 두 개의 쓰임 및 목적에 차이가 있어 아무래도 비교보다는 어떤 장점이 있는지...