-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Expand file tree
/
Copy pathdemo.php
More file actions
executable file
·108 lines (91 loc) · 2.06 KB
/
Copy pathdemo.php
File metadata and controls
executable file
·108 lines (91 loc) · 2.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
<?php
/**
* Copyright (c) 2012, ideawu
* All rights reserved.
* @author: ideawu
* @link: http://www.ideawu.com/
*
* SSDB PHP API demo.
*/
include(dirname(__FILE__) . '/SSDB.php');
$host = '127.0.0.1';
$port = 8888;
try{
$ssdb = new SimpleSSDB($host, $port);
//$ssdb->easy();
}catch(Exception $e){
die(__LINE__ . ' ' . $e->getMessage());
}
var_dump($ssdb->set('test', time()));
var_dump($ssdb->set('test', time()));
echo $ssdb->get('test') . "\n";
var_dump($ssdb->del('test'));
var_dump($ssdb->del('test'));
var_dump($ssdb->get('test'));
echo "\n";
var_dump($ssdb->hset('test', 'b', time()));
var_dump($ssdb->hset('test', 'b', time()));
echo $ssdb->hget('test', 'b') . "\n";
var_dump($ssdb->hdel('test', 'b'));
var_dump($ssdb->hdel('test', 'b'));
var_dump($ssdb->hget('test', 'b'));
echo "\n";
var_dump($ssdb->zset('test', 'a', time()));
var_dump($ssdb->zset('test', 'a', time()));
echo $ssdb->zget('test', 'a') . "\n";
var_dump($ssdb->zdel('test', 'a'));
var_dump($ssdb->zdel('test', 'a'));
var_dump($ssdb->zget('test', 'a'));
echo "\n";
$ssdb->close();
die();
/* a simple bench mark */
$data = array();
for($i=0; $i<1000; $i++){
$k = '' . mt_rand(0, 100000);
$v = mt_rand(100000, 100000 * 10 - 1) . '';
$data[$k] = $v;
}
speed();
try{
$ssdb = new SSDB($host, $port);
}catch(Exception $e){
die(__LINE__ . ' ' . $e->getMessage());
}
foreach($data as $k=>$v){
$ret = $ssdb->set($k, $v);
if($ret === false){
echo "error\n";
break;
}
}
$ssdb->close();
speed('set speed: ', count($data));
speed();
try{
$ssdb = new SSDB($host, $port);
}catch(Exception $e){
die(__LINE__ . ' ' . $e->getMessage());
}
foreach($data as $k=>$v){
$ret = $ssdb->get($k);
if($ret === false){
echo "error\n";
break;
}
}
$ssdb->close();
speed('get speed: ', count($data));
function speed($msg=null, $count=0){
static $stime;
if(!$msg && !$count){
$stime = microtime(1);
}else{
$etime = microtime(1);
$ts = ($etime - $stime == 0)? 1 : $etime - $stime;
$speed = $count / floatval($ts);
$speed = sprintf('%.2f', $speed);
echo "$msg: " . $speed . "\n";
$stime = $etime;
}
}