일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Filter
- queryDSL
- 최종 프로젝트
- 복합키
- 인텔리제이
- 스프링 부트 기능
- ERD 작성
- 빈생성안됨
- JPA
- uncheck Exception
- spring서버
- 스프링 부트 공식 문서
- REST API 규칙
- @IdClass
- jwt메서드
- REST란
- json
- Error creating bean with name
- JoinColumn
- git
- Spring Spring boot 차이
- 스프링부트오류
- JPA주의사항
- jpa에러
- jpa회원가입
- Unsatisfied dependency
- 1차캐시
- json gson 차이
- Q 클래스
- github
- Today
- Total
Everyday Dev System
Redis 설치 및 기본 명령어 본문
해당 글에서는 docker 컨테이너에 redis 설치하여 활용하는 방법에 대해서 시도해보겠습니다.
환경 설정 (설치)
먼저 git bash에서 docker로 부터 Redis 공식 이미지를 불러와서
6379번 포트로 Redis를 실행하는 .yml 파일입니다.
해당 파일을 build 시켜줍니다.
build 전에 docker desktop을 실행시켜주셔야 합니다.
위와 같이 docker desktop에 해당 이미지가 생성되어 해당 이미지로부터 Redis 컨테이너가 실행되고 있습니다.
redis-cli 명령어 실행
cmd를 관리자 권한으로 실행하여
docker exec -it redis bash를 입력하여 Redis 컨테이너를 cli 환경에서 접근할 수 있습니다.
Redis는 다양한 자료구조를 지원합니다.
String, List, Set, Sorted Set, Hash, Bit Map & HyperLogLog, Stream, Geospatial Index
String
가장 기본적인 자료구조다. Redis 내부 데이터의 특정 Key에 대응하는 Value가 String인 구조이다.
- keys * → 모든 key 값 참조
- get home → key에 해당하는 value 값 참조 → get home
- set key value → key에 value를 저장
- del key → key를 삭제한다.
List
Linked List와 유사한 구조로, 중간 요소에 접근하기 위해서는 최대 O(N)의 시간복잡도를 필요로 한다. 하지만 양측의 포인터를 모두 가지고 있기 때문에, Queue, Stack 등 다양한 형태로 응용이 가능하다.
- lpush key value value → List의 왼쪽에 데이터를 넣는다.
- rpush key value value → List의 오른쪽에 데이터를 넣는다.
- llen key → List의 인덱스 넘버 표시. (List에 value가 3개가 들어있을 경우에는 인덱스가 0부터 시작하므로 결과값 2)
- lrange key start end → 특정 key에 대응되는 list의 왼쪽 인덱스부터 특정 인덱스까지 범위 조회
- lpop key → List의 가장 오른쪽 데이터를 꺼낸다.
Set
List와 달리 순서X, 데이터 조작 시, O(1)의 시간복잡도를 지니고 중복 데이터를 허용하지 않는다.
- sadd key vallue value value → 해당 key에 값 추가
- smembers key → 해당 key에 값 모두 출력
- sismember key value → 해당 key에 value가 있을 경우 '1', 없을 경우 '0' 반환
redis 설정 변경
docker 내부에 명령어를 살펴보면, 아래와 같이 conf 파일이 없다는 것을 알 수 있습니다.
redis.conf 파일을 생성하여 설정 파일에 레디스의 비밀번호, 포트, 바인드 여부 등을 추가하면 레디스의 설정 옵션을 관리하기 한 층 쉬워진다. 이를 파일을 사용하기 위해서 https://redis.io/topics/config 로 이동해서 버전에 맞는 config을 다운받을 수 있습니다. 저는 해당 설정 없이 기본 설정으로 진행하도록 하겠습니다.
'내배캠 주요 학습 > TIL : Today I Learned' 카테고리의 다른 글
ajax 통신 시 success , fail, done, fail 차이 (0) | 2023.08.23 |
---|---|
Cookie.get() 이 안될 때 살펴봐야 할 사항 (0) | 2023.08.23 |
Type javax.servlet.http.HttpServletRequest not present (0) | 2023.08.17 |
스프링 부트 버전에 따른 Swagger 활용 차이 (0) | 2023.08.17 |
react로 프론트 구현 시도 중 에러 해결 (0) | 2023.08.08 |