コード例 #1
0
 public function testGetValue()
 {
     $this->assertEquals('localnat', $this->module->getCurrentConn());
     $this->assertInstanceOf('insolita\\redisman\\components\\PhpredisConnection', $this->module->getConnection());
     $model = new RedisItem();
     $model->setAttributes(['key' => 'tfx_string', 'type' => 'string']);
     $this->assertTrue($model->validate());
     $val = $model->getValue();
     $this->assertEquals('somestringval', $val);
     $model->setAttributes(['key' => 'tfx_list', 'type' => 'list']);
     $this->assertTrue($model->validate());
     $val = $model->getValue();
     $this->assertTrue(is_array($val));
     $this->assertEquals(['someval1', 'someval2', 'someval3'], $val);
     $model->setAttributes(['key' => 'tfx_set', 'type' => 'set']);
     $this->assertTrue($model->validate());
     $val = $model->getValue();
     $this->assertTrue(is_array($val));
     $this->assertTrue(in_array('someval4', $val));
     $this->assertTrue(in_array('someval1', $val));
     $this->assertTrue(in_array('someval2', $val));
     $this->assertTrue(in_array('someval3', $val));
     $model->setAttributes(['key' => 'testfxt:3:hash', 'type' => 'hash']);
     $this->assertTrue($model->validate());
     $val = $model->getValue();
     $this->assertTrue(is_array($val));
     $this->assertEquals(['hashfield1' => 'hashval1', 'hashfield2' => 'hashval2'], $val);
     $model->setAttributes(['key' => 'tfx_zset', 'type' => 'zset']);
     $this->assertTrue($model->validate());
     $val = $model->getValue();
     $this->assertTrue(is_array($val));
     $this->assertEquals(['someval2' => 3, 'someval1' => 4, 'someval3' => 8], $val);
 }
コード例 #2
0
 /**
  * @return \yii\web\Response
  */
 public function actionMove()
 {
     $model = new RedisItem();
     $model->scenario = 'move';
     if ($model->load(\Yii::$app->request->post()) && $model->validate()) {
         $model->move();
         \Yii::$app->session->setFlash('success', Redisman::t('redisman', 'Key moved from Db№ {from} to {to}', ['from' => $this->module->getCurrentDb(), 'to' => $model->db]));
     } else {
         \Yii::$app->session->setFlash('error', Html::errorSummary($model, ['encode' => true]));
     }
     return $this->redirect(Url::to(['/redisman/default/show']));
 }
コード例 #3
0
 public function testCreate()
 {
     $model = new RedisItem();
     $model->scenario = 'create';
     $model->setAttributes(['key' => 'newstringkey', 'ttl' => 2000, 'formatvalue' => 'h ehfif ierireh ei', 'type' => 'string']);
     $this->assertTrue($model->validate());
     $model->create();
     $this->assertEquals(1, $this->module->executeCommand('EXISTS', ['newstringkey']));
     $tmodel = RedisItem::find('newstringkey')->findValue();
     $this->assertLessThanOrEqual(2000, $tmodel->ttl);
     $this->assertNotEquals(-1, $tmodel->ttl);
 }