There is an m x n grid with a ball. The ball is initially at the position [startRow, startColumn]. You are allowed to move the ball to one of the four adjacent cells in the grid (possibly out of the grid crossing the grid boundary). You can apply at most maxMove moves to the ball.
Given the five integers m, n, maxMove, startRow, startColumn, return the number of paths to move the ball out of the grid boundary. Since the answer can be very large, return it modulo 109 + 7.
연재 글 목록
Production 환경에서 Redis를 사용하는 가장 효과적인 6가지 방법 - Cache, Session Store
Production 환경에서 Redis를 사용하는 가장 효과적인 6가지 방법 - Leaderboard, Message Queue
Production 환경에서 Redis를 사용하는 가장 효과적인 6가지 방법 - Website Analytics, Flash Sale
연재 글 목록
Production 환경에서 Redis를 사용하는 가장 효과적인 6가지 방법 - Cache, Session Store
Production 환경에서 Redis를 사용하는 가장 효과적인 6가지 방법 - Leaderboard, Message Queue
Production 환경에서 Redis를 사용하는 가장 효과적인 6가지 방법 - Website Analytics, Flash Sale
Pub/Sub
List
Stream
먼저 Redis Pus/Sub구조에 대해 알아보자.
위 그림처럼 Redis에는 Channel이라는 개념이 존재하고
프로듀서는 채널에 데이터를 보내고
Redis는 해당 채널을 구독하고 있는 컨슈머들에게 데이터를 보내게 된다.
= 컨슈머는 하나 이상의 채널을 구독할 수 있다.
여기서 보낸다를 주의 깊게 봐야 하는데
컨슈머 입장에선 Pull 방식이 아닌 Push 방식으로 동작하므로
컨슈머가 원하는 시점에 데이터를 가져오는 게 아니라
일방적으로 채널로부터 데이터를 받게 되는 구조이다.
이러한 구조로 인해 한 가지 제한 사항이 발생하게 되는데
바로 데이터가 최대 한 번(At Most Once)만 전달된다는 점이다.
그래서 채널에 데이터가 생성되는 시점에
구독하고 있는 컨슈머가 없거나
컨슈머가 존재해서 데이터를 받았지만
로직 실행 중 컨슈머에 문제라도 발생하게 된다면 데이터를 유실하게 된다.
Pub/Sub 구조에서는 데이터를 따로 저장하지 않으므로
Redis가 죽게 되면 모든 Pub/Sub 데이터는 사라지므로
일부 데이터가 손실되어도 문제가 되지 않는
모니터링 데이터 수집과 같은 시스템에 사용하는 게 바람직하다.
You are given an integer n representing the number of houses on a number line, numbered from 0 to n - 1.
Additionally, you are given a 2D integer array offers where offers[i] = [starti, endi, goldi], indicating that ith buyer wants to buy all the houses from starti to endi for goldi amount of gold.
As a salesman, your goal is to maximize your earnings by strategically selecting and selling houses to buyers.
Return the maximum amount of gold you can earn.
Note that different buyers can't buy the same house, and some houses may remain unsold.
BRPOP(Blocking List Pop)은
Redis에서 사용되는 명령어 중 하나로
블로킹 방식으로 Redis List에서 요소를 팝(pop)하는 데 사용된다.