redis를 간략하게 소개하자면, 가장 많이 사용되는 in-memory key-value databse이다
key-value DB는 NoSQL의 한 종류이고, 또한 NoSQL은 SQL을 사용하지 않는 비관계형 database이다
간략한 특징은 아래와 같다.
in-memory이고 hash table을 사용하므로 RDB보다 빠르다
MySQL같은 RDB와 달리 Data organization이 없다 (테이블 스키마가 없다)
단점으로는 일부 value만 읽어올 때는 비효율적이라는 점이 있다
redis에 대한 등장배경 및 자세한 내용은 아래 글을 참조하자
http://codingmania.tistory.com/18
NoSQL에 관한 내용은 아래를 참조하자
http://lazybrain.ikspres.com/nosql1/
https://subokim.wordpress.com/2011/05/20/when-nosql-makes-better-sense/
<redis 설치>
redis는 windows platform을 지원하지 않으므로, docker를 이용하여 설치하기로 했다
https://hub.docker.com/_/redis/
위 사이트에서 docker redis image 및 instance 실행방법이 서술되어 있으며, 이 글은 위 사이트를 기반으로 한다
필자는 windows python redis를 client로 사용할 것이다
docker run --name some-redis -d -p 6379:6379 redis
redis 이미지로부터 redis 컨테이너를 생성 및 실행하고 host의 6379 포트와 연결한다
redis server 실행은 이 한 줄로 끝이다. 이제 파이썬을 통해 테스트해보자
https://pypi.python.org/pypi/redis
위 사이트의 getting started를 기반으로 한 내용이다
windows에서 cmd를 실행한다
pip install redis
아래 코드를 실행한다
import redis
r = redis.StrictRedis(host='192.168.99.100', port=6379, db=0)
r.set('foo', 'bar')
r.get('foo')
host는 win7의 경우 192.168.99.100, win10의 경우 localhost일 것이다
위와 같이 간단하게 redis server를 실행하고 간단하게 python redis를 사용할 수 있다
'etc' 카테고리의 다른 글
[OS] process vs thread (그리고 병렬처리 관점) (0) | 2017.12.10 |
---|---|
[Database] RDB, NoSQL, In-memory DB 비교 (0) | 2017.12.09 |
FFmpeg vs Libav 차이점 (0) | 2017.11.29 |
I/O 방식: sync, async / blocking, non-blocing (0) | 2017.11.28 |
FFmpeg Camera, Mic 스트리밍 프로젝트 경험담 (0) | 2017.11.25 |
WRITTEN BY
- hojongs
블로그 옮겼습니다 https://hojongs.github.io/