您现在的位置是:首页 > PHP框架交流PHP框架交流
yii框架中yiisoft/yii2-redis redis操作
上善若水2021-07-04 23:03:45【PHP框架交流】 3029人已围观
简介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)
相关文章
随机图文
-
切换php版本执行命令行 不更改环境变量切换php版本执行命令
由于不同的php版本互相不兼容,频繁更换环境变量的path变量过于麻烦,不更改环境变量切换php版本执行命令,直接在php nts 目录下执行php命令方法.当前我有个为php5.3环境的项目与一个p -
速卖通官方sdk composer扩展包安装
由于速卖通官方有给我们提供扩展包,但是没有提供直接composer安装,导致使用起来有些不方便,由于官方提供的扩展包没有命名空间概念,就使用classmap自动加载方式制作成扩展包,这样不需要额外做任 -
2020.09.06武汉植物园,湖北艺术馆游玩
一天预约了两个景点一次玩个够,首先是武汉植物园,这里平时门票是需要35RMB呢,之前玩的景点都没排队,这个去的时候居然在排队,或许是我去的太早了吧,当时也就快1点的样子,是刷身份证进去的,整体整个植物 -
php技术提升心得与方法
现在的PHP市场虽然充斥了大量的的PHP开发人员,但这些人当中真正能称得上高手的却寥寥无几。很多公司虽然招聘了一些PHP开发人员,但是由于技术水平不高,导致公司的项目一直堆积。这不仅另公司无奈也让已经入职的PHP开发人员着急,他们也想要在PHP领域更近一步,但却苦于找不到提高自己的方法,下面我们的鸥仔收集了一些PHP大神的一些工作方式、习惯,让大家看看PHP大神们是如何工作,也希望这些方法能帮助到那些想要在PHP领域更近一步的人。