您现在的位置是:首页 > PHP框架交流PHP框架交流

yii框架中yiisoft/yii2-redis redis操作

上善若水2021-07-04 23:03:45【PHP框架交流】 2539人已围观

简介yii框架中yiisoft/yii2-redis redis操作字符串学习笔记,设置值获取值设置过期时间,自增自键运算等.参考网址https://redis.io/commands/decrby -

yii框架中yiisoft/yii2-redis redis操作字符串学习笔记,设置值获取值设置过期时间,自增自键运算等.
参考网址https://redis.io/commands/decrby

- 1. 设置值set

        $redis = \Yii::$app->redis;
        $redis->set('name','value1','ex','100');
        $redis->set('name','value1');
        echo $redis->get('name');

2. append

如果key已经存在并且是一个字符串,则此命令将 附加value到字符串的末尾。如果key不存在,则创建并设置为空字符串,因此在这种特殊情况下APPEND 将类似于SET。
返回值
追加操作后的字符串长度

$redis = \Yii::$app->redis;
$redis->append('name','append');

3.decr

将存储的数字减key一。如果key不存在,则0在执行操作前设置为。如果键包含错误类型的值或包含不能表示为整数的字符串,则返回错误。此操作仅限于64 位有符号整数。
返回值
key递减后的值

$redis = \Yii::$app->redis;
$redis->set('test:decr_test',1);
$redis->decr('test:decr_testt');

4.decrby

递减存储在数key通过decrement。如果key不存在,则0在执行操作前设置为。如果键包含错误类型的值或包含不能表示为整数的字符串,则返回错误。此操作仅限于 64 位有符号整数。
返回值
key相减后的值

$redis = \Yii::$app->redis;
$redis->decrby('test_decr',100);

5.GET

获取 的值key。如果键不存在,nil则返回特殊值。如果存储的值key不是字符串,则会返回错误,因为GET 仅处理字符串值。
获取key的值没有就返回null

    $redis = \Yii::$app->redis;
   $return=$redis->get('aaaa');
   var_dump($return);

6.getrange

返回范围字符 闭区间

        $redis = \Yii::$app->redis;
        $return=$redis->getrange('name',0,1);
        var_dump($return);

7.incr

自增 若key不存在 这设置为零 并自增后返回1

        $redis = \Yii::$app->redis;
        $return=$redis->incr('test_incr');
        var_dump($return);

7.incr

自增 若key不存在 这设置为零 并自增后返回1

        $redis = \Yii::$app->redis;
        $return=$redis->incr('test_incr');
        var_dump($return);

8.incrby

增加制定值

        $redis = \Yii::$app->redis;
        $return=$redis->incrby('test_incr',100);
        var_dump($return);

9.incrbyfloat

自增小数 返回字符串类型小数

        $redis = \Yii::$app->redis;
        $return=$redis->incrbyfloat('test_incr',0.001);
        var_dump($return);

9.mget

获取多个key的值 返回数组 不存在返回数组

        $redis = \Yii::$app->redis;
        $return=$redis->mget('name','username','aaa','bbb');
        var_dump($return);

打印

array (size=4)
  0 => string 'value1append' (length=12)
  1 => string 'marko23333
' (length=12)
  2 => null
  3 => null

10.mset

批量设置多个值 键1 值1 键2 值2 返回true or false

        $redis = \Yii::$app->redis;
        $return=$redis->mset('mkey1','mv1','mkey2','mv2');
        var_dump($return);

11.msetnx

将给定的键设置为其各自的值。 即使只有一个键已经存在,MSETNX也不会执行任何操作。

由于此语义,MSETNX可用于以确保设置所有字段或根本不设置字段的方式设置代表唯一逻辑对象的不同字段的不同键。

MSETNX是原子的,所以所有给定的键都是一次设置的。客户端不可能看到某些密钥已更新而其他密钥未更改。
即,有一个键存在整个插入就不会插入 ,必须多有键都不存在才会全部插入

        $redis = \Yii::$app->redis;
        $return=$redis->msetnx('mkey1','mv1','mkey3','mv3');//mkey1 存在mkey1,mkey3插入都不执行
        var_dump($return);
        $return=$redis->msetnx('mkey4','mv4','mkey5','mv5');
        var_dump($return);

12.mset

批量设置多个值 键1 值1 键2 值2 返回true or false

        $redis = \Yii::$app->redis;
        $return=$redis->mset('mkey1','mv1','mkey2','mv2');
        var_dump($return);

13.PSETEX 毫秒 setex 秒

设置值和过期时间分别为毫秒和秒

        $redis = \Yii::$app->redis;
        $return=$redis->psetex('key','10000','value');
        var_dump($return);
        $return=$redis->setex('key','10','value');
        var_dump($return);

14.PSETEX 毫秒 setex 秒

设置值和过期时间分别为毫秒和秒

        $redis = \Yii::$app->redis;
        $return=$redis->psetex('key','10000','value');
        var_dump($return);
        $return=$redis->setex('key','10','value');
        var_dump($return);

14.setnx

设置值若key已经存在则不执行

        $redis = \Yii::$app->redis;
        $return=$redis->setnx('key','10');
        var_dump($return);

15.setrange

覆盖值范围值

        $redis = \Yii::$app->redis;
        $redis->set('key','0123456789');
        $return=$redis->setrange('key','2','xxx');//value =>01xxx56789
        var_dump($return);;

16.strlen

返回key值的长度

        $redis = \Yii::$app->redis;
        $return=$redis->strlen('key');
        var_dump($return);

很赞哦! (1)

相关文章

文章评论

站点信息

  • 建站时间:2019-10-24
  • 网站程序:Thinkphp6 Layui
  • 文章统计247篇文章
  • 标签管理标签云
  • 统计数据cnzz统计
  • 微信公众号:扫描二维码,关注我们