http://redisgate.kr/redis/introduction/redis_intro.php
이곳이 개념 및 명령어 등 굉장히 정리 잘 되어 있다.
https://inpa.tistory.com/search/redis 인파의 레디스글들
npm i redis
vscode에서 패키지 설치하는 것 말고도 실제 프로그램을 설치해야함.
윈도우는 https://github.com/microsoftarchive/redis/releases
여기서 .msi 받아 설치하고,
우분투는 apt-get 명령어를 치면 될 것이다.
sudo apt-get install redis-server
redis-server --version //설치 후 버전 확인
redis-cli //레디스 명령어 쓸 수 있는 곳으로 진입
Strings는 key와 value가 일 대 일 관계입니다.
반면 Lists, Sets, Sorted Sets, Hashes는 일 대 다 관계입니다.
set 키이름 밸류 //해당 키에 밸류 저장. 밸류에 띄어쓰기가 있으면 큰따옴표 사용. 기존 값 있을 시 덮어 씀
get 키이름 //해당 키의 밸류 조회
del key //해당 키 삭제.
소개
Lists는 key와 value가 일 대 다 관계입니다.
value는 입력된 순서대로 저장됩니다.
Lists는 주로 큐(Queue)와 스택(Stack)으로 사용됩니다.
큐(Queue)는 들어오는 데이터를 순서대로 처리할때 사용합니다.
스택(Stack)은 웹브라우져의 백버튼 처럼 주로 되돌아 갈때 사용합니다.키(리스트)의 생성과 삭제
value가 저장되면 키(리스트)는 생성됩니다. 키에 value가 하나도 없으면 키는 삭제됩니다.
즉, 키(리스트)의 생성과 삭제를 위한 별도의 작업은 필요없습니다.
Sets는 key와 value가 일 대 다 관계입니다.
Value는 입력된 순서와 상관없이 저장되며, 중복되지 않습니다. 즉, value A가 2번 저장되도 결과적으로 하나만 남습니다.
Sets에서는 집합이라는 의미에서 value를 member라 부릅니다.
Sets은 주로 카드게임같은 게임이나, 집합연산이 필요한 곳에 사용됩니다.
Field와 value로 구성
Hashes는 key 하나에 여러개의 field와 value로 구성됩니다.
key 하나에 field와 value 쌍을 40억개(4,294,967,295)까지 저장 가능합니다.Table과 Hash의 유사한 점
Hashes가 field와 value로 구성된다는 면에서 RDB의 table과 비슷합니다.
Hash key는 table의 PK, field는 column, value는 value로 보면 됩니다.
Key가 PK와 같은 역할을 하기 때문에 key 하나는 table의 한 row와 같습니다.Table과 Hash의 다른 점
Table의 column 수는 일반적으로 제한이 있는 반면, Hash의 field 수는 40억개로 거의 무제한에 가깝습니다.
Table에서 column을 추가하려면 alter문으로 미리 table을 변경해야 하나, Hash에서는 그런 사전 작업이 필요없습니다. 따라서 field의 추가/삭제는 자유롭습니다. Field의 추가/삭제는 해당 key에만 영향을 미칩니다.
hset 키이름 필드이름 밸류 //해당 키의 해당 필드를 만들고 해당 밸류를 저장. 있을 시 덮어 씀.
hgetall 키이름 //해당 키의 모든 필드와 밸류 조회
hget 키이름 필드이름 //해당 키의 해당 필드의 밸류 조회
ttl 키이름 //해당 키의 만료시간 보기
node에서 redis 문법은 다음에 정리할 예정