티스토리 뷰
2014년 TFT 프로젝트에서 Redis 이벤트와 관련하여 기능이 필요하여 개발된 프로젝트이다.
RedisPlus 를 개발하게 된 계기는
-
Redis 이벤트의 Key Expired 이벤트 외에 Key Expiring 이벤트가 필요했는데, **Key Expiring **이벤트는 Redis Key 가 만료가 되었을 때, 만료전에 발생하는 이벤트이고, Key Expired 는 키를 만료시킨 후에 발생하는 이벤트이다.
-
Redis 이벤트 만료 시 만료되는 키만을 반환하기 때문에 키의 값이 무엇인지만 알 수 없다는 문제가 있다.
Expiring Key Event
Expiring 키 이벤트는 키와 값을 반환한다. 따라서 Redis's Expiring Event 를 이용하여 동기화 매커니즘을 구현할 수 있게 된다.
예를 들어, 키에 값이 없으면 DB 나 외부통신을 통해 최신의 값을 가져온다.
키에 새로운 값을 넣을 때 마다 1분 후 만료시간을 주고, 다시 새로운 값이 오면 다시 1분 만료시간을 준다.
그런 후 1분 만료가 되기 직전, DB 또는 외부통신을 통해 만료되는 키와 값을 전달하고, 키를 만료 시킨다.
1. 먼저 서버에서 구독을 하도록 subscribe keyspace-events 설정
> config set notify-keyspace-events KEA
> PSUBSCRIBE '__key*__:expiring'
2. 키를 3초후에 만료하도록 mykey 키와 값을 설정.
SET mykey "you can get key and value" ex 3
3. 3초 후. mykey 키는 키와 값을 함께 구독한다.
1) "pmessage"
2) "__key*__:expiring"
3) "__keyevent@0__:expiring"
4) "mykey"
5) "you can get key and value" << IMPORTANT: You got it is value of key.
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
- ***** MY SOCIAL *****
- [SOCIAL] 페이스북
- [SOCIAL] 팀 블로그 트위터
- .
- ***** MY OPEN SOURCE *****
- [GITHUB] POWERUMC
- .
- ***** MY PUBLISH *****
- [MSDN] e-Book 백서
- .
- ***** MY TOOLS *****
- [VSX] VSGesture for VS2005,200…
- [VSX] VSGesture for VS2010,201…
- [VSX] Comment Helper for VS200…
- [VSX] VSExplorer for VS2005,20…
- [VSX] VSCmd for VS2005,2008
- .
- ***** MY FAVORITES *****
- MSDN 포럼
- MSDN 라이브러리
- Mono Project
- STEN
- 일본 ATMARKIT
- C++ 빌더 포럼
- .
TAG
- ALM
- Visual Studio 11
- monodevelop
- Team Foundation Server
- POWERUMC
- TFS 2010
- .NET Framework 4.0
- 팀 파운데이션 서버
- Visual Studio
- testing
- Visual Studio 2008
- 비주얼 스튜디오
- 비주얼 스튜디오 2010
- TFS
- Visual Studio 2010
- test
- 엄준일
- Windows 8
- umc
- Silverlight
- .NET
- github
- c#
- LINQ
- Managed Extensibility Framework
- 땡초
- Team Foundation Server 2010
- MEF
- mono
- ASP.NET