1+ // EXAMPLE: set_tutorial
2+ <?php
3+
4+ require 'vendor/autoload.php ' ;
5+
6+ use Predis \Client as PredisClient ;
7+
8+ class DtStringTest
9+ // REMOVE_START
10+ extends PredisTestCase
11+ // REMOVE_END
12+ {
13+ public function testDtString () {
14+ $ r = new PredisClient ([
15+ 'scheme ' => 'tcp ' ,
16+ 'host ' => '127.0.0.1 ' ,
17+ 'port ' => 6379 ,
18+ 'password ' => '' ,
19+ 'database ' => 0 ,
20+ ]);
21+ // REMOVE_START
22+ $ r ->flushall ();
23+ // REMOVE_END
24+
25+ // STEP_START set_get
26+ $ res1 = $ r ->set ('bike:1 ' , 'Deimos ' );
27+ echo "$ res1 " . PHP_EOL ;
28+ // >>> OK
29+
30+ $ res2 = $ r ->get ('bike:1 ' );
31+ echo "$ res2 " . PHP_EOL ;
32+ // >>> Deimos
33+ // STEP_END
34+ // REMOVE_START
35+ $ this ->assertEquals ('OK ' , $ res1 );
36+ $ this ->assertEquals ('Deimos ' , $ res2 );
37+ // REMOVE_END
38+
39+ // STEP_START setnx_xx
40+ $ res3 = $ r ->set ('bike:1 ' , 'bike ' , 'nx ' );
41+ echo "$ res3 " . PHP_EOL ;
42+ // >>> (null)
43+
44+ echo $ r ->get ('bike:1 ' ) . PHP_EOL ;
45+ // >>> Deimos
46+
47+ $ res4 = $ r ->set ('bike:1 ' , 'bike ' , 'xx ' );
48+ echo "$ res4 " . PHP_EOL ;
49+ // >>> OK
50+ // STEP_END
51+ // REMOVE_START
52+ $ this ->assertEquals (null , $ res3 );
53+ $ this ->assertEquals ('OK ' , $ res4 );
54+ $ this ->assertEquals ('bike ' , $ r ->get ('bike:1 ' ));
55+ // REMOVE_END
56+
57+ // STEP_START mset
58+ $ res5 = $ r ->mset ([
59+ 'bike:1 ' => 'Deimos ' , 'bike:2 ' => 'Ares ' , 'bike:3 ' => 'Vanth '
60+ ]);
61+ echo "$ res5 " . PHP_EOL ;
62+ // >>> OK
63+
64+ $ res6 = $ r ->mget (['bike:1 ' , 'bike:2 ' , 'bike:3 ' ]);
65+ echo json_encode ($ res6 ) . PHP_EOL ;
66+ // >>> ["Deimos","Ares","Vanth"]
67+ // STEP_END
68+ // REMOVE_START
69+ $ this ->assertEquals ('OK ' , $ res5 );
70+ $ this ->assertEquals (['Deimos ' , 'Ares ' , 'Vanth ' ], $ res6 );
71+ // REMOVE_END
72+
73+ // STEP_START incr
74+ $ r ->set ('total_crashes ' , 0 );
75+ $ res7 = $ r ->incr ('total_crashes ' );
76+ echo "$ res7 " . PHP_EOL ;
77+ // >>> 1
78+
79+ $ res8 = $ r ->incrby ('total_crashes ' , 10 );
80+ echo "$ res8 " . PHP_EOL ;
81+ // >>> 11
82+ // STEP_END
83+ // REMOVE_START
84+ $ this ->assertEquals (1 , $ res7 );
85+ $ this ->assertEquals (11 , $ res8 );
86+ // REMOVE_END
87+ }
88+ }
0 commit comments