StackExchange.Redis - 간단 사용

StackExchange.Redis 사용 방법 정리. 문자열 저장 및 읽기 출처 using System; using StackExchange.Redis; using System.Threading; namespace RedisSample { class Program { static void Main(string[] args) { ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("localhost"); // 데이터베이스 얻기 IDatabase cache = redis.GetDatabase(); // 값 저장...
더 읽기

StackExchange.Redis - list

StackExchange.Redis 사용 방법 정리. 리스트 선두에 추가 출처 var redis = ConnectionMultiplexer.Connect("127.0.0.1:6379"); var db = redis.GetDatabase(); db.ListLeftPush("mykey", "value1"); db.ListLeftPush("mykey", "value2"); db.ListLeftPush("mykey", "value3"); 리스트 꼬리에 추가 출처 var redis = ConnectionMultiplexer.Connect("127.0.0.1:6379"); var db = redis.GetDatabase(); db.ListRightPush("mykey", "value1"); db.ListRightPush("mykey", "value2"); db.ListRightPush("mykey", "value3");...
더 읽기

C++ - TimingWheel 알고리즘을 사용한 타이머

자세한 설명은 http://d2.naver.com/helloworld/267396. 타임아웃 작업의 만료 여부에 대한 검사가 필요 없는 등록과 실행 두 작업만을 모두 O(1)의 시간 복잡도로 처리할 수 있는 타이머를 구현할 수 있다. 출처: https://github.com/billlin0904/librapid uint64_t TimingWheel::add(uint32_t timeout, bool onece, TimeoutCallback callback) { //std::lock_guard<platform::Spinlock> guard{ lock_ };...
더 읽기

C++ - Win32API 스레드 풀을 사용하는 타이머

Windows Vista부터 사용 가능. CreateThreadpoolTimer, SetThreadpoolTimer API 사용. ‘윈도우 시스템 프로그램을 구현하는 기술(한빛미디어)’에 설명이 잘 나와 있음 예제 코드 출처: https://github.com/billlin0904/librapid using TimerPtr = std::shared_ptr<Timer>; class Timer { public: using TimeoutCallback = std::function<void(void)>; static TimerPtr createTimer(); void start(TimeoutCallback callback, uint32_t...
더 읽기