1 |
#include <iostream> |
2 |
#include <sstream> |
3 |
#include <string> |
4 |
|
5 |
#include "memcached.hh" |
6 |
|
7 |
using namespace std; |
8 |
|
9 |
int count = 0; |
10 |
const int SLOT_COUNT = 10; |
11 |
|
12 |
string produce() { |
13 |
stringstream oss; |
14 |
oss << "packet " << count++ << " produced on " << time(0) ; |
15 |
return oss.str(); |
16 |
} |
17 |
|
18 |
string gen_key(int i) { |
19 |
stringstream oss; |
20 |
oss << "slot:" << i; |
21 |
return oss.str(); |
22 |
} |
23 |
|
24 |
int main() { |
25 |
Memcached memc; |
26 |
memc.server_add("localhost"); |
27 |
|
28 |
unsigned int len; |
29 |
|
30 |
while (1) { |
31 |
for (int i=0; i<SLOT_COUNT; i++) { |
32 |
string key = gen_key(i); |
33 |
char* tmp = memc.get(key,&len); |
34 |
if (tmp == NULL) { //slot is empty |
35 |
cout << "Filling slot " << i << endl; |
36 |
string value = produce(); |
37 |
memc.set(key, value.c_str(), value.length() +1); |
38 |
} |
39 |
|
40 |
} |
41 |
cout << "----" << endl; |
42 |
sleep(5); |
43 |
} |
44 |
} |