DB count 설정

레디스는 여러 개의 데이터베이스를 가질 수 있으며 기본 값은 16입니다.

설정을 변경하려면 레디스 설정 파일(예: /etc/redis.conf) 의 다음 항목을 수정하고 재기동해주면 됩니다.

# Set the number of databases. The default database is DB 0, you can select
# a different one on a per-connection basis using SELECT <dbid> where
# dbid is a number between 0 and 'databases'-1
databases 16
BASH


DB 는 application 이나 용도별로 분리하는 게 app 간 영향도를 줄이고 관리하기가 용이합니다.

예로 하나의 application 이라도 CACHE 는 0 번 DB에 저장하고 SESSION 은 1 번 DB 에 저장하고 app2 는 3번 DB 를 사용하는 식으로 나누는 게 좋습니다.

사용 DB 선택

redis-cli 로 레디스 서버에 연결하면 사용할 db 를 선택할 수 있습니다.

구동시에 선택하려면 -n 뒤에 DB의 ID 를 주면 되며 ID 는 0 부터 (databases - 1) 까지입니다.


즉 데이터베이스 갯수가 16일 경우 ID 는 0 ~ 15 가 되며 다음은 id 가 3인 DB 에 연결합니다.

redis-cli -n 3
CODE


위와 같이 id 가 0 이 아닌 DB 면 redis-cli 콘솔에 ID 를 표시합니다.


만약 구동시 -n 옵션 뒤에 존재하지 않는 DB ID 를 입력하면 어떻게 될까요?

흥미롭게도 에러를 내지 않고 기본 DB 를 사용하는데 콘솔에 ID 를 입력한 값을 표시하므로 헷갈리면 안 됩니다.


확인해 보려면 다음과 같이 -n 뒤에 존재하지 않는 DB ID 를 넣고 구동한 후에 SET 으로 값을 넣고 0번 DB 에서 GET 해보면 됩니다.



SELECT INDEX

DB 를 변경하려면 redis-cli 프롬프트에서 select 명령어로 사용할 DB ID 를 지정해도 됩니다.

127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]>
BASH


그러면 위와 같이 DB ID 가 변경됩니다.

SELECT 뒤에 없는 ID 를 입력할 경우 구동시 -n 옵션 사용할 때와는 달리 에러를 발생시킵니다.

127.0.0.1:6379> select 21
(error) ERR DB index is out of range
127.0.0.1:6379>
BASH


Ref