redis 썸네일형 리스트형 Spring 세션과 Redis를 활용한 조회수 증가 중복 방지 1. 서론2. 여러 방법과 비교3. 구현4. 마무리 1. 서론프로젝트를 진행하면서 게시글의 조회수를 카운트하도록 했습니다.여러 서비스들을 살펴봤을 때, 새로고침을 할 때마다 조회수가 증가되는 서비스가 있었고, 새로고침하여도 조회수가 증가 되지 않도록 중복을 방지한 서비스도 있었습니다. 다른 서비스들은 조회수 증가의 중복을 방지하기 위해 어떤 방법을 사용하는지 알아봤는데, 그 중 대표적으로 유튜브는사용자가 의도적으로 동영상을 시작한다사용자는 적어도 30초동안 영상을 시청한다최대 반복수는 300번으로 예상된다최대 반복수를 넘었을 시 봇을 이용하는지 유효성 검사 단계가 수행되면서 더 이상 조회수가 증가하지 않는다조회수 증가하지 않는 상황많은 장치에 대해 하나의 IP 주소를 사용하여 동시에 동일한 영상을 시청할.. 더보기 (3) 스프링 Redis 캐싱 및 세션 저장소와 분리 Redis는 서버에서 세션 저장소와 캐시 저장소로 많이 쓰인다.한 개의 Redis 서버에서 둘을 모두 관리한다면 간편하지 않을까? 그렇지 않다. 그럼 분리하는 이유를 알아보자. 1. Redis의 싱글 스레드 작업Redis uses a mostly single threaded design. This means that a single process serves all the client requests, using a technique called multiplexing. This means that Redis can serve a single request in every given moment, so all the requests are served sequentially. This is very s.. 더보기 (2) 스프링 직렬화 For RedisCache, RedisSerializer 직렬화란 ? 자바 직렬화란 자바 시스템 내부에서 사용되는 객체 또는 데이터를 외부의 자바 시스템에서도 사용할 수 있도록 바이트(byte) 형태로 데이터 변환하는 기술과 바이트로 변환된 데이터를 다시 객체로 변환하는 기술(역직렬화)을 아울러서 이야기합니다. 이를 시스템적으로 얘기하자면 JVM(Java Virtual Machine 이하 JVM)의 메모리에 상주(힙 또는 스택)되어 있는 객체 데이터를 바이트 형태로 변환하는 기술과 직렬화된 바이트 형태의 데이터를 객체로 변환해서 JVM으로 상주시키는 형태입니다. 즉 Redis는 Key와 Value를 byte 배열 형태로 저장하기 때문에, 자바의 데이터들을 Redis에 저장하기 위해서는 직렬화하여야 하고, Redis에 저장된 값들을 자바에서 사용하기 위해서는 역.. 더보기 (1) Redis란 ? Redis Redis is an open source (BSD licensed), in-memory data structure store used as a database, cache, message broker, and streaming engine. Redis provides data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes, and streams. Redis has built-in replication, Lua scripting, LRU eviction, transactions, and different levels of .. 더보기 이전 1 다음