您现在的位置是:首页 > PHP框架交流PHP框架交流
yii框架中yiisoft/yii2-redis redis操作之list
上善若水2021-07-07 00:50:05【PHP框架交流】 2628人已围观
简介1.lpushhttps://redis.io/commands/lpush将所有指定的值插入存储在的列表的头部key。如果key不存在,则在执行推送操作之前将其创建为空列表。当key保存的值不
php redis常用操作list函数总结
1. lpush https://redis.io/commands/lpush
将所有指定的值插入存储在 的列表的头部key。如果key不存在,则在执行推送操作之前将其创建为空列表。当key保存的值不是列表时,将返回错误。
可以使用单个命令调用推送多个元素,只需在命令末尾指定多个参数。元素一个接一个地插入到列表的头部,从最左边的元素到最右边的元素。例如,该命令LPUSH mylist a b c将生成一个包含c第一个元素、b第二个元素和a第三个元素的列表。
$redis = \Yii::$app->redis;
$redis->lpush('test_list','list1','list2','list3');//依次插入头部 最终返回顺序为 list3 list2 list1
2. lindex https://redis.io/commands/lindex
返回index存储在 的列表中索引处的元素key。索引从零开始,因此0表示第一个元素、1第二个元素等。负索引可用于指定从列表尾部开始的元素。在这里,-1表示最后一个元素,-2表示倒数第二个等等。
当值key不是列表时,返回错误。
$redis = \Yii::$app->redis;
echo $redis->lindex('test_list',1);//第二个元素
echo $redis->lindex('test_list',-1);//最后一个元素
3.linsert https://redis.io/commands/linsert
在啥之前或之后插入元素,若元素重复则匹配到第一个元素后就插入
$redis = \Yii::$app->redis;
echo $redis->linsert('test_list','after','tttt','2333');
4.llen https://redis.io/commands/llen
获取lish元素中个数
$redis = \Yii::$app->redis;
echo $redis->llen('test_list');
5.lpop Remove and get the first element in a list. <https://redis.io/commands/lpop>
移除首个元素并返回这个元素
$redis = \Yii::$app->redis;
echo $redis->lpop('test_list');
6.lpushx Prepend a value to a list, only if the list exists. https://redis.io/commands/lpushx
插入首部 仅key存在时
$redis = \Yii::$app->redis;
echo $redis->lpushx('notexist',123);
7.lrange Get a range of elements from a list. https://redis.io/commands/lrange
获取指定区间的list元素 返回数组
$redis = \Yii::$app->redis;
$res= $redis->lrange('test_list',0,-2);
var_dump($res);
8.lrange Remove elements from a list. https://redis.io/commands/lrem
从存储在 的列表中删除第一次count出现的等于 的元素。该参数影响在以下几个方面的工作:elementkeycount
count > 0: 删除元素等于element从头到尾移动。
count < 0: 删除元素等于element从尾部移动到头部。
count = 0: 删除所有等于 的元素element。
例如,LREM list -2 “hello”将删除”hello”存储在 的列表中最后两次出现的 list。
请注意,不存在的键被视为空列表,因此当key不存在时,该命令将始终返回0
$redis = \Yii::$app->redis;
$res= $redis->lrem('test_list',-1,'list2');//删除最后一次出现的list2
var_dump($res);
9.lset Set the value of an element in a list by its index. https://redis.io/commands/lset
指定位置插入元素
$redis = \Yii::$app->redis;
$res= $redis->lset('test_list',-1,'list2');//列表末尾插入list2
10.ltrim Trim a list to the specified range. https://redis.io/commands/ltrim
截取数组指定范围
$redis = \Yii::$app->redis;
$res= $redis->ltrim('test_list',0,5);//截取列表第保留前6个元素
很赞哦! (5)
相关文章
随机图文
-
速卖通官方sdk composer扩展包安装
由于速卖通官方有给我们提供扩展包,但是没有提供直接composer安装,导致使用起来有些不方便,由于官方提供的扩展包没有命名空间概念,就使用classmap自动加载方式制作成扩展包,这样不需要额外做任 -
thinkphp异常处理 修改thinkphp默认报错样式
用的现成的框架,报错太不友好了,就一个提示massage,通过调试找到报错位置还原官方报错页面,如果你也是shipXO直接过来产考方法修改.env开启debug [APP] THINK_ENV= -
ThinkPHP6.0 paginate分页追加get参数 分页get参数丢失
ThinkPHP6.0在使用内置的paginate分页类时,在地址栏追加我们url参数搜索,点击下一页时get参数会丢失,追加get参数解决分页get参数丢失问题。ThinkPHP6.0分页参数主要 -
php技术提升心得与方法
现在的PHP市场虽然充斥了大量的的PHP开发人员,但这些人当中真正能称得上高手的却寥寥无几。很多公司虽然招聘了一些PHP开发人员,但是由于技术水平不高,导致公司的项目一直堆积。这不仅另公司无奈也让已经入职的PHP开发人员着急,他们也想要在PHP领域更近一步,但却苦于找不到提高自己的方法,下面我们的鸥仔收集了一些PHP大神的一些工作方式、习惯,让大家看看PHP大神们是如何工作,也希望这些方法能帮助到那些想要在PHP领域更近一步的人。