일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
- API
- Elastic
- vavr
- elasticsearch cache
- Elasticsearch
- Docker
- JPA
- Aggregation
- dbeaver
- java crawler
- request cache
- 양자컴퓨터
- Analyzer
- 테슬라
- TSLA
- Selenium
- aqqle
- IONQ
- Cache
- java
- NORI
- file download
- aggs
- Query
- ann
- KNN
- api cache
- redis
- 아이온큐
- mysql
- Today
- Total
목록Redis (7)
아빠는 개발자
개발환경MacOsdocker 설치docker-compose.yml# 파일 규격 버전version: "3.1"# 실행하려는 컨테이너들 정의services: # 서비스명 redis_container: # 사용할 이미지 image: redis:latest # 컨테이너명 container_name: redis # 접근 포트 설정(컨테이너 외부:컨테이너 내부) ports: - 6379:6379 # 스토리지 마운트(볼륨) 설정 volumes: - ./redis/data:/data - ./redis/conf/redis.conf:/usr/local/conf/redis.conf # 컨테이너에 docker label을 이용해서 메타데이터 추가 ..
Spring의 @Cacheable 애노테이션을 사용할 때 특정 조건에 따라 캐싱을 제어할 수 있음 condition 및 unless 속성을 사용할 수 있는데 이 속성들은 SpEL(Spring Expression Language)을 사용하여 조건을 지정한다. condition 속성은 캐시가 적용될지 여부를 결정하는 조건을 지정합니다.unless 속성은 condition 속성과 반대로 캐싱된 결과가 캐시에 저장되지 않도록 조건을 지정합니다. 특정 매개변수 값과 반환 값을 조합하여 캐시 조건을 설정할 수 있음 @Cacheable(value = "myCache", condition = "#param.length() > 3", unless = "#result.startsWith('No')")
코드상으로 연결하려는건 아니고 redis client 처럼 redis 에 저장된 데이터를 확인 하고자 함 redis 는 2020 버전에서는 기본으로 설치되어 있지 않아 2023 버전으로 업데이트 했는데 업데이트를 하다보니 IntelliJ 에 기본으로 설치되어 있는 java 버전이 높아서 gradle 빌드에서 에러가 발생함 그땐 build 에서 Gradle JVM 을 11로 바꿔 준다. 보아하니 여기가 11이긴한데 이사안 경로의 11 을 잡고 있어서 문제가 발생한듯 아무튼 이렇게 해서 정상화 시켜놓고 맨 우측으로 가면 Database 가 보인다. + Data Source 에서 Redis 선택 Connection Type 은 cluster - 왜냐면 내가 클러스터 환경으로접속하려고 하..
Redis를 사용하여 큐(Queue)를 설계하는 것은 Redis의 리스트(List) 자료구조를 활용하여 간단하게 구현할 수 있습니다.Redis의 리스트는 양방향으로 데이터를 추가하거나 제거할 수 있는 자료구조이고, FIFO(First-In-First-Out) 특성을 가지므로 큐를 구현하기에 적합합니다. 다음은 Redis를 사용하여 큐를 설계하고 구현하는 방법에 대한 단계별 설명입니다.1. Redis 리스트 사용기본적인 큐는 FIFO(First In First Out) 방식으로 작동합니다. Redis에서 큐를 구현하기 위해 LPUSH와 RPOP 명령을 사용할 수 있습니다. LPUSH는 리스트의 왼쪽에 데이터를 삽입하고, RPOP은 리스트의 오른쪽에서 데이터를 제거합니다.2. 기본 명령어큐의 기본 연산인 ..
1. 캐싱 전략캐싱 전략을 선택하는 것은 가장 중요한 부분 중 하나입니다. 일반적인 캐싱 전략은 다음과 같습니다Write-Through Cache: 데이터가 캐시와 데이터베이스에 동시에 쓰입니다. 캐시와 데이터베이스가 항상 동기화되지만, 쓰기 작업의 성능이 저하될 수 있습니다.Write-Back (Write-Behind) Cache: 데이터가 먼저 캐시에 쓰이고 나중에 데이터베이스에 비동기적으로 쓰입니다. 쓰기 성능은 향상되지만, 캐시 손실 시 데이터 손실 위험이 있습니다.Read-Through Cache: 캐시에서 데이터를 찾을 수 없으면 데이터베이스에서 읽어와 캐시에 저장하고 반환합니다.Cache-Aside (Lazy Loading): 애플리케이션이 먼저 캐시에서 데이터를 찾고, 없으면 데이터베이스에..
Redis CLI에서 키에 대한 만료 시간을 설정해보자 EXPIRE 명령을 사용하면 되는데 이 명령은 특정 키가 지정된 시간(초 단위)이 지나면 자동으로 삭제되도록 만료 시간을 설정 TEST )EXPIRE 명령을 사용하는 기본적인 예제 Redis Cli 접속 (base) ➜ ~ docker ps (base) ➜ ~ docker exec -it redis /bin/bash 컨테이너 접속root@eec19f53dc2e:/data# redis-cli 키가 뭐있나.. 127.0.0.1:6379> keys * 봤더니 쓰래기가 많아서 청소 한번하고 테스트127.0.0.1:6379> flushdb 127.0.0.1:6379> keys *(empty array) SET doo:key "doocoo" 만료시간을 ..
Redis 를 사용해보자 Jedis 라이브러리를 사용 maven - pom.xml redis.clients jedis 3.7.0 Gradle을 사용한다면 build.gradleimplementation 'redis.clients:jedis:3.7.0' 캐시 생성 예제import redis.clients.jedis.Jedis;public class RedisCacheExample { public static void main(String[] args) { // Redis에 연결 Jedis jedis = new Jedis("localhost", 6379); // 기본 포트는 6379입니다. // Redis에 데이터 쓰기 jedis.s..