您现在的位置是:首页 > PHP框架交流PHP框架交流
yii框架中yiisoft/yii2-redis redis操作
上善若水2021-07-04 23:03:45【PHP框架交流】
1799人已围观
简介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开发人员,但这些人当中真正能称得上高手的却寥寥无几。很多公司虽然招聘了一些PHP开发人员,但是由于技术水平不高,导致公司的项目一直堆积。这不仅另公司无奈也让已经入职的PHP开发人员着急,他们也想要在PHP领域更近一步,但却苦于找不到提高自己的方法,下面我们的鸥仔收集了一些PHP大神的一些工作方式、习惯,让大家看看PHP大神们是如何工作,也希望这些方法能帮助到那些想要在PHP领域更近一步的人。有什么不懂的,尽管吻我就好了
1、有什么不懂的,尽管吻我就好了。 夸女孩的句子:(不要再说beauty了) pretty girl(漂亮女孩) lovely(美女、美人、佳人) looker(大美人) charming(迷人的) dream girl(梦中情人) attractive(妩媚动人) gorgeous lady(大美女) beller(最美的美女) peri(仙女) 2、说正事儿,你最近是在减肥吧,我有一个办法可以让你立马瘦两斤。什么办法?把你的心放我这里。 赠送一段酷酷的句子: 我还在努力,你千万不要喜欢上别人springboot shiro实现登录跳转原先页面
在项目的会遇到请求后台页面会出现未登录跳转到登录页面,登录完成后再跳转回登录页面,又于项目登录是采用ajax编写的,只需在登录成功后将需要跳转的页面返回就可以.后台登录控制器 @PostMappingthinkphp6验证规则失效 thinkphp6Validate验证器使用方法注意事项
今天在使用thinkphp6验证规则时遇到一些坑,导致验证规则始终无法生效,要不就重复验证,要不就验证失效简直心态爆炸,可能是自己用法不正确吧,来看看使用心得吧. 首先来看看正确的验证写法class