본문 바로가기
728x90
반응형

redis3

[Spring] redis keys 대신 scan keys 명령어는 한 번에 모든 키를 스캔해서 조회하는 반면, scan 명령어는 한 번에 약 10개씩 정도를 조회합니다. keys는 키 수가 많을 경우 처리시간이 그만큼 많이 소요되며, 그 동안 다른 명령을 처리하지 못합니다. 그래서 대안으로 나온 것이 sacn입니다. scan은 count 값을 정하여 그 count값만큼 여러 번 레디스의 모든 키를 읽어오기 때문에 count의 개수를 낮게 잡으면 count만큼 키를 읽어오는 시간은 적게 걸리고 모든 데이터를 읽어오는데 시간이 오래 걸리지만 그 사이사이에 다른 요청들을 받을 수가 있으므로 레디스가 다른 요청을 처리하는데 병목이 생기는 것을 방지할 수 있습니다. 1. RedisTemplate 우선 redisTemplate을 사용하여 keys 대신 scan을.. 2022. 6. 29.
[SpringBoot] Redis Key Expired Event Notification Redis에서 만료된 키를 수신하거나 subscribe 하는 방법을 알아보다가 Redis에서 알림 이벤트를 발견하였습니다. 만료된 키에 대한 Redis Keyspace 알림에 대해 알아보겠습니다. 우선 redis.conf를 사용하여 keyspace 알림을 활성화하겠습니다. /etc 하위에 존재하는 redis.conf에 notify-keyspace-events Ex를 추가합니다. 더보기 이벤트 종류 K Keyspace events, publish prefix "__keyspace@__:". E Keyevent events, publish prefix "__keyevent@__:". g 공통 명령: del, expire, rename, ... $ 스트링(String) 명령 l 리스트(List) 명령 s 셋(.. 2021. 4. 1.
[SpringBoot2] Lettuce Java Redis Client와 RedisCommands method 설명 Redis는 데이터베이스, 캐시 또는 메시지 브로커로 사용할 수 있는 인메모리 key-value 저장소입니다. 데이터는 Redis의 인메모리 데이터 구조에 있는 키에서 작동하여 추가, 쿼리, 수정 및 삭제됩니다. Jedis와 Lettuce의 가장 중요한 차이점은 Java 8의 CompleteStage 인터페이스를 통한 비동기식 지원 및 Reactive Streams 지원입니다. Lettuce는 Redis 데이터베이스 서버에서 비동기 요청을 하고 스트림을 생성할 수 있는 자연스러운 인터페이스를 제공합니다. 또한 서버와 통신하는 데도 사용합니다. 이렇게 하면 "무거운" API를 만들 수 있지만 둘 이상의 스레드와 연결을 공유하는 데 더 적합합니다. pom.xml에 필요한 종속성을 추가합니다. org.spri.. 2021. 1. 16.
728x90
반응형