StackExchange.Redis - score 사용하기

StackExchange.Redis 사용 방법 정리. 접속 실패 출처 //Redis의 DB를 선택 IDatabase db = RedisRepository.SelectCache(0); //key 생성 var key = "hoge"; // score 계산을 위해 Unixtime 얻기 var unixSeconds = DateTimeOffset.Now.ToUnixTimeSeconds(); //경과 초 수를 score로 저장 var score = (double)unixSeconds; //관람...
더 읽기

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_ };...
더 읽기