11#include < iostream>
22#include " kvclient.h"
33
4- int main (int argc, char ** argv) {
5- KVClient* kvclient = new KVClient (" 127.0.0.1" , 6789 );
6- int res = kvclient->setKV (" yunfei" , " 23" , MiniKV_STRING);
4+ void testExpire (KVClient* c) {
5+ int res = c->setKV (" yunfei" , " 23" , MiniKV_STRING);
76 if (res == MiniKV_SET_SUCCESS) {
87 fprintf (stdout, " set key success!\n " );
98 } else {
109 fprintf (stderr, " set key failed!\n " );
1110 exit (1 );
1211 }
13- GetRes ans = kvclient->getK (" yunfei" );
14- if (ans.encoding == MiniKV_GET_SUCCESS) {
15- fprintf (stdout, " get key success!\n " );
12+ GetRes ans = c->getK (" yunfei" );
13+ std::cout << ans.data [0 ] << std::endl;
14+ res = c->setExpires (" yunfei" , 1000 );
15+ if (res == MiniKV_SET_EXPIRE_SUCCESS) {
16+ fprintf (stdout, " set expire success!\n " );
1617 } else {
17- fprintf (stderr, " get key failed!\n " );
18+ fprintf (stderr, " set expire failed!\n " );
1819 exit (1 );
1920 }
20- for (int i = 0 ; i < ans.data .size (); ++i) {
21- std::cout << ans.data [i] << " " ;
22- }std::cout << std::endl;
21+ sleep (3 );
22+ ans = c->getK (" yunfei" );
23+ std::cout << (ans.data .empty () ? " expired" : " expire doesn't work" ) << std::endl;
24+ }
2325
24- res = kvclient->setKV (" qjx" , " 23" , MiniKV_LIST);
25- if (res == MiniKV_SET_SUCCESS) {
26- fprintf (stdout, " set key success!\n " );
27- } else {
28- fprintf (stderr, " set key failed!\n " );
29- exit (1 );
30- }
31- res = kvclient->setKV (" qjx" , " 24" , MiniKV_LIST);
32- if (res == MiniKV_SET_SUCCESS) {
33- fprintf (stdout, " set key success!\n " );
34- } else {
35- fprintf (stderr, " set key failed!\n " );
36- exit (1 );
37- }
38- ans = kvclient->getK (" qjx" );
39- if (ans.encoding == MiniKV_GET_SUCCESS) {
40- fprintf (stdout, " get key success!\n " );
41- } else {
42- fprintf (stderr, " get key failed!\n " );
43- exit (1 );
44- }
45- for (int i = 0 ; i < ans.data .size (); ++i) {
46- std::cout << ans.data [i] << " " ;
47- } std::cout << std::endl;
26+ int main (int argc, char ** argv) {
27+ KVClient* kvclient = new KVClient (" 127.0.0.1" , 6789 );
28+ testExpire (kvclient);
29+ // int res = kvclient->setKV("yunfei", "23", MiniKV_STRING);
30+ // if (res == MiniKV_SET_SUCCESS) {
31+ // fprintf(stdout, "set key success!\n");
32+ // } else {
33+ // fprintf(stderr, "set key failed!\n");
34+ // exit(1);
35+ // }
36+ // GetRes ans = kvclient->getK("yunfei");
37+ // if (ans.encoding == MiniKV_GET_SUCCESS) {
38+ // fprintf(stdout, "get key success!\n");
39+ // } else {
40+ // fprintf(stderr, "get key failed!\n");
41+ // exit(1);
42+ // }
43+ // for (int i = 0; i < ans.data.size(); ++i) {
44+ // std::cout << ans.data[i] << " ";
45+ // }std::cout << std::endl;
46+
47+ // res = kvclient->setKV("qjx", "23", MiniKV_LIST);
48+ // if (res == MiniKV_SET_SUCCESS) {
49+ // fprintf(stdout, "set key success!\n");
50+ // } else {
51+ // fprintf(stderr, "set key failed!\n");
52+ // exit(1);
53+ // }
54+ // res = kvclient->setKV("qjx", "24", MiniKV_LIST);
55+ // if (res == MiniKV_SET_SUCCESS) {
56+ // fprintf(stdout, "set key success!\n");
57+ // } else {
58+ // fprintf(stderr, "set key failed!\n");
59+ // exit(1);
60+ // }
61+ // ans = kvclient->getK("qjx");
62+ // if (ans.encoding == MiniKV_GET_SUCCESS) {
63+ // fprintf(stdout, "get key success!\n");
64+ // } else {
65+ // fprintf(stderr, "get key failed!\n");
66+ // exit(1);
67+ // }
68+ // for (int i = 0; i < ans.data.size(); ++i) {
69+ // std::cout << ans.data[i] << " ";
70+ // } std::cout << std::endl;
4871 return 0 ;
4972}
0 commit comments