사용자 도구

사이트 도구


nosql:redis

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
nosql:redis [2013/10/11 10:54]
kwon37xi [주의사항]
nosql:redis [2024/03/19 21:31] (현재)
kwon37xi
줄 2: 줄 2:
  
   * [[http://blog.getspool.com/2011/11/29/fast-easy-realtime-metrics-using-redis-bitmaps/|Fast, easy, realtime metrics using Redis bitmaps]]   * [[http://blog.getspool.com/2011/11/29/fast-easy-realtime-metrics-using-redis-bitmaps/|Fast, easy, realtime metrics using Redis bitmaps]]
-  * [[https://github.com/kumarnitin/RedisLive|RedisLive]] : Redis 모니터링 툴 
   * [[http://architects.dzone.com/articles/couple-redis-gotchas-focus|A Couple Redis Gotchas with a Focus on Concurrency]]   * [[http://architects.dzone.com/articles/couple-redis-gotchas-focus|A Couple Redis Gotchas with a Focus on Concurrency]]
   * [[http://www.javacodegeeks.com/2012/06/using-redis-with-spring.html|Using Redis with Spring]]   * [[http://www.javacodegeeks.com/2012/06/using-redis-with-spring.html|Using Redis with Spring]]
   * [[http://blog.iamdenny.com/play/translation/redis-cluster|Redis Cluster]]   * [[http://blog.iamdenny.com/play/translation/redis-cluster|Redis Cluster]]
   * [[http://www.javacodegeeks.com/2012/10/redis-pubsub-using-spring.html|Redis pub/sub using Spring - Java Code Geeks]]   * [[http://www.javacodegeeks.com/2012/10/redis-pubsub-using-spring.html|Redis pub/sub using Spring - Java Code Geeks]]
 +  * [[http://www.javacodegeeks.com/2015/09/redis-a-nosql-key-value-store.html|Redis Tutorial: NoSQL key-value store | Java Code Geeks]]
 +  * [[https://github.com/ozimov/embedded-redis|Embedded-Redis]] : embedded-redis 는 매우 여러 곳에서 만들었다. redis 바이너리를 jar 안에 묶어 놓고 있으며, 이를 각 운영체제에서 실행하는 형식
 +  * [[nosql:garnet|Garnet]]
 +
 +===== 기본 명령 =====
 +  * [[https://redis.io/commands/|Redis commands]] : ''Examples'' 에서 명령어 테스트도 가능함.
 +  * [[http://lzone.de/cheat-sheet/Redis|Redis CheatSheet]]
 +  * [[https://developer.mozilla.org/en-US/docs/Mozilla/Redis_Tips|Redis Tips - Mozilla | MDN]]
 +===== Ubuntu 설치 =====
 +<code sh>
 +sudo apt-get install build-essential
 +
 +# 버전은 알아서
 +wget http://download.redis.io/releases/redis-3.0.0.tar.gz
 +tar xzf redis-3.0.0.tar.gz
 +cd redis-3.0.0
 +make
 +</code>
 +
 +===== 실행 =====
 +<code>
 +# 실행
 +src/redis-server
 +
 +# 간단한 테스트
 +src/redis-cli
 +
 +redis> set foo bar
 +OK
 +redis> get foo
 +"bar"
 +</code>
 +
 +===== Lettuce =====
 +  * Java 에서는 Jedis 보다는 Lettuce를 사용하는게 나은 듯. 2019현재 Lettuce만 replica를 지원함. 성능도 더 좋음.
 +  * [[https://jojoldu.tistory.com/418|Jedis 보다 Lettuce 를 쓰자]]
 +
 +===== Redis를 통한 대기열(Queue) 구현 =====
 +  * [[https://www.youtube.com/watch?v=MTSn93rNPPE&feature=youtu.be|[우아한테크토크] 선착순 이벤트 서버 생존기! 47만 RPM에서 살아남다?! - YouTube]]
 +  * Sorted Set 을 사용한다.
 +  * ''ZADD'' : 데이터 추가시 부여한 스코어에 따라 정렬
 +  * ''ZRANK'' : 현재 순위 조회
 +  * ''ZRANGE'' : 일정한 수만큼 리스트 조회
  
 ===== 주의사항 ===== ===== 주의사항 =====
줄 16: 줄 58:
     * slave 가 sync 해야할때의 rdb는 옵션을 끄더라도 무조건 발생합니다. 이것이 메모리를 적당히 나눠서 rdb 관련 이슈를 줄여야 하는 이유중에 하나입니다.     * slave 가 sync 해야할때의 rdb는 옵션을 끄더라도 무조건 발생합니다. 이것이 메모리를 적당히 나눠서 rdb 관련 이슈를 줄여야 하는 이유중에 하나입니다.
     * [[http://charsyam.wordpress.com/2013/10/09/%ec%9e%85-%ea%b0%9c%eb%b0%9c-redis-sentinel%ec%9d%84-%ec%9d%b4%ec%9a%a9%ed%95%98%eb%a9%b4%ec%84%9c-%ea%b2%aa%ea%b2%8c-%eb%90%98%eb%8a%94-%eb%ac%b8%ec%a0%9c-%ed%95%98%eb%82%98%ec%99%80-%ed%95%b4/|[입 개발] Redis Sentinel을 이용하면서 겪게 되는 문제 하나와 해결책 | Charsyam's Blog]]     * [[http://charsyam.wordpress.com/2013/10/09/%ec%9e%85-%ea%b0%9c%eb%b0%9c-redis-sentinel%ec%9d%84-%ec%9d%b4%ec%9a%a9%ed%95%98%eb%a9%b4%ec%84%9c-%ea%b2%aa%ea%b2%8c-%eb%90%98%eb%8a%94-%eb%ac%b8%ec%a0%9c-%ed%95%98%eb%82%98%ec%99%80-%ed%95%b4/|[입 개발] Redis Sentinel을 이용하면서 겪게 되는 문제 하나와 해결책 | Charsyam's Blog]]
 +  * [[http://www.slideshare.net/charsyam2/redis-trouble-shooting|Redis trouble shooting]]
 +  * [[http://www.redisgate.com/redis/cluster/cluster.php|Redis Cluster]]
 +  * [[https://github.com/antirez/redis/pull/4494| dict & quicklist int problem]] ''dict'',''quicklist''가 키 값을 ''int''로 다루는 버그. Redis **4.0.6** 이상 버전을 사용해야함.
 +
 +===== Cache =====
 +  * Redis는 가급적 캐시 용도로는 사용하지 말자.
 +  * [[https://charsyam.wordpress.com/2013/02/05/%EC%9E%85-%EA%B0%9C%EB%B0%9C-memcached-%EB%8A%94-predictable-%ED%95%98%EA%B3%A0-redis%EB%8A%94-unpredictable-%ED%95%98%EB%8B%A4/|[입 개발] memcached 는 predictable 하고 Redis는 unpredictable 하다. | Charsyam's Blog]]
 +
 +===== Client Size Cache =====
 +  * [[https://redis.io/docs/manual/client-side-caching/|Client-side caching in Redis | Redis]]
 +  * [[https://medium.com/garimoo/%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A%B8-%EC%82%AC%EC%9D%B4%EB%93%9C-%EC%BA%90%EC%8B%B1-71a3ca7727ff|클라이언트 사이드 캐싱. Redis 6 New-Feature🎉 | by GARIMOO | garimoo | Medium]] : Redis 6 부터 client side 캐싱지원.
 +===== GUI =====
 +  * [[https://github.com/erikdubbelboer/phpRedisAdmin|PHP Redis Admin]]
 +  * [[https://redislabs.com/blog/so-youre-looking-for-the-redis-gui/|So, You're Looking for the Redis GUI? | Redis Labs]]
 +
 +===== Multi threaded IO =====
 +  * [[https://itnext.io/benchmarking-the-experimental-redis-multi-threaded-i-o-1bb28b69a314|Benchmarking the experimental Redis Multi-Threaded I/O | by Filipe Oliveira | ITNEXT]]
 +  * [[https://www.alibabacloud.com/blog/improving-redis-performance-through-multi-thread-processing_594150|Improving Redis Performance through Multi-Thread Processing - Alibaba Cloud Community]]
 +
 +
 +===== 참조 =====
 +  * [[https://engineering.linecorp.com/ko/blog/detail/306|RedisConf18 발표 후기 : LINE Engineering Blog]]
 +  * [[https://dzone.com/articles/distributed-java-locks-with-redis|Distributed Java Locks With Redis - DZone Java]]
 +  * [[https://charsyam.wordpress.com/2019/10/07/%ec%9e%85-%ea%b0%9c%eb%b0%9c-redis-cli-%ec%97%90%ec%84%9c-rdb%eb%8a%94-%ec%a3%bc%ec%9d%98%ed%95%b4%ec%84%9c-%ec%82%ac%ec%9a%a9%ed%95%98%ec%85%94%ec%95%bc-%ed%95%a9%eb%8b%88%eb%8b%a4/|[입 개발] redis-cli 에서 –rdb는 주의해서 사용하셔야 합니다. | Charsyam's Blog]]
 +  * [[https://charsyam.wordpress.com/2020/11/20/%ec%9e%85-%ea%b0%9c%eb%b0%9c-redis-%ec%9e%a5%ec%95%a0-%ec%a2%85%eb%a5%98-%ec%a0%95%eb%a6%ac/|[입 개발] Redis 장애 종류 정리 | Charsyam's Blog]]
 +  * [[https://redislabs.com/blog/7-redis-worst-practices/|7 Redis Worst Practices | Redis Labs]]
 +  * [[https://redis.io/topics/problems|Problems with Redis? This is a good starting point. – Redis]]
 +  * [[https://charsyam.wordpress.com/2021/10/03/%ec%9e%85-%ea%b0%9c%eb%b0%9c-redis-%ec%97%90%ec%84%9c-redis-cluster-%eb%a1%9c-%ea%b0%88-%eb%95%8c-%ec%a3%bc%ec%9d%98%ed%95%b4%ec%95%bc%ed%95%a0-%eb%b6%80%eb%b6%84%eb%93%a4/|[입 개발] Redis 에서 Redis Cluster 로 갈 때 주의해야할 부분들 | Charsyam's Blog]]
 +  * [[https://tech.kakao.com/2022/02/09/k8s-redis/|쿠버네티스에 레디스 캐시 클러스터 구축기 – tech.kakao.com]]
 +  * [[https://devs0n.tistory.com/92|Redis를 활용한 다양한 시스템 설계]]
 +  * [[https://pompitzz.github.io/blog/Redis/LocalCacheSyncWithRedisPubSub.html#publihser-subscriber-%E1%84%8F%E1%85%A5%E1%84%82%E1%85%A6%E1%86%A8%E1%84%89%E1%85%A7%E1%86%AB-%E1%84%87%E1%85%AE%E1%86%AB%E1%84%85%E1%85%B5|Redis(Pub/Sub)로 로컬 캐시 동기화하기 | BLOG]]
 +  * [[https://www.vinsguru.com/redis-master-slave-with-spring-boot/|Redis Master Slave With Spring Boot | Vinsguru]]
 +  * [[https://blog.leocat.kr/notes/2021/08/10/redis-read-from-replica|[Redis] Master 이외의 Replica(slave)로 부터 읽기]]
nosql/redis.1381456493.txt.gz · 마지막으로 수정됨: 2013/10/11 10:54 저자 kwon37xi