'데이터베이스/Nosql'에 해당되는 글 2건

데이터베이스/Nosql

Redis Keys 명령어의 대체 Scan 설명

Redis에서 Keys 명령어는 성능상으로 문제가 있다. Redis의 One Thread 정책으로 인해서 해당 작업을 처리하기 위해서 서버가 멈춰버린다. 그래서 이를 대안하기 위해서 Redis의 Scan이라는 기능을 사용할 수있다.

Scan은 cusor를 기반으로 동작하는 Itorator이다. 처음시작은 scan 번호를 0으로 지정해서 시작한다. 



그러면 두 개의 값을 반환을 하는데 첫번째 값은 다음 cursor의 번호이고 그 다음 값은 키값들이 출력된다.

다음 데이터를 찾기위해서는 1번 값에서 반환된 커서 값을 이용해서 검색하면 된다. (scan 9)
그리고 scan 후 나온 다음 cursor의 값이 0인경우 그 이후에 값이 없음을 의미한다.


Option

#Count Option
scan은 모든 반복에서 반환되는 요소의 값의 크기를 제한할 수 있다. 바로 COUNT option을 사용하는 것이다. 사용방법은 단순하게 scan 0 COUNT [count 크기] 와 같은 방식으로 사용할 수있다.


Match Option

match options은 keys [패턴] 명령어에서 사용하는 방식과 비슷하며 패턴은 glob-style 패턴만을 지원한다. (glob-style 패턴은 *(와일드 카드), ?(조커) ) match는 검색할 때 where조건처럼 필터해서 가지고 오는 방식이 아니라 모든 데이터를 가지고 오고 사용자에게 반환하기 직전에 값을 필터해서 보여준다.



데이터베이스/Nosql

Docker에 MongoDB 설치 후 Studio 3T로 접속해서 쿼리 사용해보기

Docker에 MongoDB를 설치하고 무료 접속 툴인 Studio 3T를 이용해서 접속해보고 쿼리를 사용해보자.

1. Docker에 MongoDB 설치

Docker에서 MongoDB 설치를 위해 필요한 내용을 docker-compose.yml 파일을 만든다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
version: '3'
 
services:
  mongodb:
    image: mongo:latest
    container_name: "mongodb"
    environment:
      - MONGO_DATA_DIR=/data/db
      - MONGO_LOG_DIR=/dev/null
    ports:
      - 27017:27017
    volumes:
      - /Users/wedul/Documents/docker/datafile/mongodb/:/data/db
 
cs

그리고 작성한 명령어를 통해 mongoDB가 담긴 컨테이너를 설치한다.

1
docker-compose up -d
cs

2. 클라이언트 툴 Studio 3T 설치

https://studio3t.com/ 에서 프로그램을 다운로드 한다.


3. 접속하여 쿼리 날려보기

host에 localhost port에 docker-compose.yml에 기재한 포트를 기입하고 접속하면 접속이 된다.
그리고 Query랑 Projection, Sort, Limit등등 사용해서 결과를 확인할 수 있다.



푸터바

알림

이 블로그는 구글에서 제공한 크롬에 최적화 되어있고, 네이버에서 제공한 나눔글꼴이 적용되어 있습니다.

카운터

  • Today : 36
  • Yesterday : 651
  • Total : 55,511