@@ -138,84 +138,140 @@ public function testErr() {
138
138
139
139
public function testSet ()
140
140
{
141
- $ this ->assertEquals (TRUE , $ this ->redis ->set ('key ' , 'nil ' ));
142
- $ this ->assertEquals ('nil ' , $ this ->redis ->get ('key ' ));
141
+ $ this ->assertEquals (TRUE , $ this ->redis ->set ('key ' , 'nil ' ));
142
+ $ this ->assertEquals ('nil ' , $ this ->redis ->get ('key ' ));
143
143
144
- $ this ->assertEquals (TRUE , $ this ->redis ->set ('key ' , 'val ' ));
144
+ $ this ->assertEquals (TRUE , $ this ->redis ->set ('key ' , 'val ' ));
145
145
146
- $ this ->assertEquals ('val ' , $ this ->redis ->get ('key ' ));
147
- $ this ->assertEquals ('val ' , $ this ->redis ->get ('key ' ));
148
- $ this ->redis ->delete ('keyNotExist ' );
149
- $ this ->assertEquals (FALSE , $ this ->redis ->get ('keyNotExist ' ));
146
+ $ this ->assertEquals ('val ' , $ this ->redis ->get ('key ' ));
147
+ $ this ->assertEquals ('val ' , $ this ->redis ->get ('key ' ));
148
+ $ this ->redis ->delete ('keyNotExist ' );
149
+ $ this ->assertEquals (FALSE , $ this ->redis ->get ('keyNotExist ' ));
150
150
151
- $ this ->redis ->set ('key2 ' , 'val ' );
152
- $ this ->assertEquals ('val ' , $ this ->redis ->get ('key2 ' ));
151
+ $ this ->redis ->set ('key2 ' , 'val ' );
152
+ $ this ->assertEquals ('val ' , $ this ->redis ->get ('key2 ' ));
153
153
154
- $ value = 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ' ;
155
- $ this ->redis ->set ('key2 ' , $ value );
156
- $ this ->assertEquals ($ value , $ this ->redis ->get ('key2 ' ));
157
- $ this ->assertEquals ($ value , $ this ->redis ->get ('key2 ' ));
154
+ $ value = 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ' ;
155
+
156
+ $ this ->redis ->set ('key2 ' , $ value );
157
+ $ this ->assertEquals ($ value , $ this ->redis ->get ('key2 ' ));
158
+ $ this ->assertEquals ($ value , $ this ->redis ->get ('key2 ' ));
158
159
159
- $ this ->redis ->delete ('key ' );
160
- $ this ->redis ->delete ('key2 ' );
160
+ $ this ->redis ->delete ('key ' );
161
+ $ this ->redis ->delete ('key2 ' );
161
162
162
163
163
- $ i = 66000 ;
164
- $ value2 = 'X ' ;
165
- while ($ i --) {
166
- $ value2 .= 'A ' ;
167
- }
168
- $ value2 .= 'X ' ;
164
+ $ i = 66000 ;
165
+ $ value2 = 'X ' ;
166
+ while ($ i --) {
167
+ $ value2 .= 'A ' ;
168
+ }
169
+ $ value2 .= 'X ' ;
169
170
170
- $ this ->redis ->set ('key ' , $ value2 );
171
+ $ this ->redis ->set ('key ' , $ value2 );
171
172
$ this ->assertEquals ($ value2 , $ this ->redis ->get ('key ' ));
172
- $ this ->redis ->delete ('key ' );
173
- $ this ->assertEquals (False , $ this ->redis ->get ('key ' ));
173
+ $ this ->redis ->delete ('key ' );
174
+ $ this ->assertEquals (False , $ this ->redis ->get ('key ' ));
174
175
175
- $ data = gzcompress ('42 ' );
176
+ $ data = gzcompress ('42 ' );
176
177
$ this ->assertEquals (True , $ this ->redis ->set ('key ' , $ data ));
177
- $ this ->assertEquals ('42 ' , gzuncompress ($ this ->redis ->get ('key ' )));
178
+ $ this ->assertEquals ('42 ' , gzuncompress ($ this ->redis ->get ('key ' )));
178
179
179
- $ this ->redis ->delete ('key ' );
180
- $ data = gzcompress ('value1 ' );
180
+ $ this ->redis ->delete ('key ' );
181
+ $ data = gzcompress ('value1 ' );
181
182
$ this ->assertEquals (True , $ this ->redis ->set ('key ' , $ data ));
182
- $ this ->assertEquals ('value1 ' , gzuncompress ($ this ->redis ->get ('key ' )));
183
-
184
- $ this ->redis ->delete ('key ' );
185
- $ this ->assertEquals (TRUE , $ this ->redis ->set ('key ' , 0 ));
186
- $ this ->assertEquals ('0 ' , $ this ->redis ->get ('key ' ));
187
- $ this ->assertEquals (TRUE , $ this ->redis ->set ('key ' , 1 ));
188
- $ this ->assertEquals ('1 ' , $ this ->redis ->get ('key ' ));
189
- $ this ->assertEquals (TRUE , $ this ->redis ->set ('key ' , 0.1 ));
190
- $ this ->assertEquals ('0.1 ' , $ this ->redis ->get ('key ' ));
191
- $ this ->assertEquals (TRUE , $ this ->redis ->set ('key ' , '0.1 ' ));
192
- $ this ->assertEquals ('0.1 ' , $ this ->redis ->get ('key ' ));
193
- $ this ->assertEquals (TRUE , $ this ->redis ->set ('key ' , TRUE ));
194
- $ this ->assertEquals ('1 ' , $ this ->redis ->get ('key ' ));
195
-
196
- $ this ->assertEquals (True , $ this ->redis ->set ('key ' , '' ));
197
- $ this ->assertEquals ('' , $ this ->redis ->get ('key ' ));
198
- $ this ->assertEquals (True , $ this ->redis ->set ('key ' , NULL ));
199
- $ this ->assertEquals ('' , $ this ->redis ->get ('key ' ));
183
+ $ this ->assertEquals ('value1 ' , gzuncompress ($ this ->redis ->get ('key ' )));
184
+
185
+ $ this ->redis ->delete ('key ' );
186
+ $ this ->assertEquals (TRUE , $ this ->redis ->set ('key ' , 0 ));
187
+ $ this ->assertEquals ('0 ' , $ this ->redis ->get ('key ' ));
188
+ $ this ->assertEquals (TRUE , $ this ->redis ->set ('key ' , 1 ));
189
+ $ this ->assertEquals ('1 ' , $ this ->redis ->get ('key ' ));
190
+ $ this ->assertEquals (TRUE , $ this ->redis ->set ('key ' , 0.1 ));
191
+ $ this ->assertEquals ('0.1 ' , $ this ->redis ->get ('key ' ));
192
+ $ this ->assertEquals (TRUE , $ this ->redis ->set ('key ' , '0.1 ' ));
193
+ $ this ->assertEquals ('0.1 ' , $ this ->redis ->get ('key ' ));
194
+ $ this ->assertEquals (TRUE , $ this ->redis ->set ('key ' , TRUE ));
195
+ $ this ->assertEquals ('1 ' , $ this ->redis ->get ('key ' ));
196
+
197
+ $ this ->assertEquals (True , $ this ->redis ->set ('key ' , '' ));
198
+ $ this ->assertEquals ('' , $ this ->redis ->get ('key ' ));
199
+ $ this ->assertEquals (True , $ this ->redis ->set ('key ' , NULL ));
200
+ $ this ->assertEquals ('' , $ this ->redis ->get ('key ' ));
200
201
201
202
$ this ->assertEquals (True , $ this ->redis ->set ('key ' , gzcompress ('42 ' )));
202
203
$ this ->assertEquals ('42 ' , gzuncompress ($ this ->redis ->get ('key ' )));
204
+ }
205
+
206
+ /* Extended SET options for Redis >= 2.6.12 */
207
+ public function testExtendedSet () {
208
+ // Skip the test if we don't have a new enough version of Redis
209
+ if (version_compare ($ this ->version , '2.6.12 ' , 'lt ' )) {
210
+ $ this ->markTestSkipped ();
211
+ return ;
212
+ }
203
213
214
+ /* Legacy SETEX redirection */
215
+ $ this ->redis ->del ('foo ' );
216
+ $ this ->assertTrue ($ this ->redis ->set ('foo ' ,'bar ' , 20 ));
217
+ $ this ->assertEquals ($ this ->redis ->get ('foo ' ), 'bar ' );
218
+ $ this ->assertEquals ($ this ->redis ->ttl ('foo ' ), 20 );
219
+
220
+ /* Invalid third arguments */
221
+ $ this ->assertFalse ($ this ->redis ->set ('foo ' ,'bar ' ,'baz ' ));
222
+ $ this ->assertFalse ($ this ->redis ->set ('foo ' ,'bar ' ,new StdClass ()));
223
+
224
+ /* Set if not exist */
225
+ $ this ->redis ->del ('foo ' );
226
+ $ this ->assertTrue ($ this ->redis ->set ('foo ' ,'bar ' ,Array ('nx ' )));
227
+ $ this ->assertEquals ($ this ->redis ->get ('foo ' ), 'bar ' );
228
+ $ this ->assertFalse ($ this ->redis ->set ('foo ' ,'bar ' ,Array ('nx ' )));
229
+
230
+ /* Set if exists */
231
+ $ this ->assertTrue ($ this ->redis ->set ('foo ' ,'bar ' ,Array ('xx ' )));
232
+ $ this ->assertEquals ($ this ->redis ->get ('foo ' ), 'bar ' );
233
+ $ this ->redis ->del ('foo ' );
234
+ $ this ->assertFalse ($ this ->redis ->set ('foo ' ,'bar ' ,Array ('xx ' )));
235
+
236
+ /* Set with a TTL */
237
+ $ this ->assertTrue ($ this ->redis ->set ('foo ' ,'bar ' ,Array ('ex ' =>100 )));
238
+ $ this ->assertEquals ($ this ->redis ->ttl ('foo ' ), 100 );
239
+
240
+ /* Set with a PTTL */
241
+ $ this ->assertTrue ($ this ->redis ->set ('foo ' ,'bar ' ,Array ('px ' =>100000 )));
242
+ $ this ->assertTrue (100000 - $ this ->redis ->pttl ('foo ' ) < 1000 );
243
+
244
+ /* Set if exists, with a TTL */
245
+ $ this ->assertTrue ($ this ->redis ->set ('foo ' ,'bar ' ,Array ('xx ' ,'ex ' =>105 )));
246
+ $ this ->assertEquals ($ this ->redis ->ttl ('foo ' ), 105 );
247
+ $ this ->assertEquals ($ this ->redis ->get ('foo ' ), 'bar ' );
248
+
249
+ /* Set if not exists, with a TTL */
250
+ $ this ->redis ->del ('foo ' );
251
+ $ this ->assertTrue ($ this ->redis ->set ('foo ' ,'bar ' , Array ('nx ' , 'ex ' =>110 )));
252
+ $ this ->assertEquals ($ this ->redis ->ttl ('foo ' ), 110 );
253
+ $ this ->assertEquals ($ this ->redis ->get ('foo ' ), 'bar ' );
254
+ $ this ->assertFalse ($ this ->redis ->set ('foo ' ,'bar ' , Array ('nx ' , 'ex ' =>110 )));
255
+
256
+ /* Throw some nonsense into the array, and check that the TTL came through */
257
+ $ this ->redis ->del ('foo ' );
258
+ $ this ->assertTrue ($ this ->redis ->set ('foo ' ,'barbaz ' , Array ('not-valid ' ,'nx ' ,'invalid ' ,'ex ' =>200 )));
259
+ $ this ->assertEquals ($ this ->redis ->ttl ('foo ' ), 200 );
260
+ $ this ->assertEquals ($ this ->redis ->get ('foo ' ), 'barbaz ' );
204
261
}
205
- public function testGetSet () {
206
262
207
- $ this ->redis ->delete ('key ' );
208
- $ this ->assertTrue ($ this ->redis ->getSet ('key ' , '42 ' ) === FALSE );
209
- $ this ->assertTrue ($ this ->redis ->getSet ('key ' , '123 ' ) === '42 ' );
210
- $ this ->assertTrue ($ this ->redis ->getSet ('key ' , '123 ' ) === '123 ' );
263
+ public function testGetSet () {
264
+ $ this ->redis ->delete ('key ' );
265
+ $ this ->assertTrue ($ this ->redis ->getSet ('key ' , '42 ' ) === FALSE );
266
+ $ this ->assertTrue ($ this ->redis ->getSet ('key ' , '123 ' ) === '42 ' );
267
+ $ this ->assertTrue ($ this ->redis ->getSet ('key ' , '123 ' ) === '123 ' );
211
268
}
212
269
213
270
public function testRandomKey () {
214
-
215
271
for ($ i = 0 ; $ i < 1000 ; $ i ++) {
216
272
$ k = $ this ->redis ->randomKey ();
217
- $ this ->assertTrue ($ this ->redis ->exists ($ k ));
218
- }
273
+ $ this ->assertTrue ($ this ->redis ->exists ($ k ));
274
+ }
219
275
}
220
276
221
277
public function testRename () {
0 commit comments