Laravel 中使用 Redis 的一些基本命令

Laravel tytrock ⋅ 于 2019-10-24 11:02:13 ⋅ 814 阅读
Redis::set('str','123');
$data = Redis::get('library');
$data = Redis::del('library');
$da = Redis::exists('library');
Redis::append('str','_123');
Redis::get('str');
Redis::strlen('str');
Redis::rename('str','str2');
Redis::expire('str2',10);
$data = Redis::ttl('str2');//获取缓存时间
$data = Redis::substr('str2',0,2);//获取第一到第三位字符,结果为123
$data = Redis::keys('st*');//模糊搜索
$data = Redis::lindex('str2',1);
dd($data);

//队列
$data = [1,2,3,4,5,6,'wa','oo','op','bar1','bar0'];
Redis::expire('set2',10);//设置过期时间为10秒
Redis::rpush('list1','bar1');
Redis::rpush('list1','bar0');
Redis::rpush('list1',$data);
$data = Redis::lpop('list1');//随机取一个值
$data = Redis::llen('list1');//获取长度
$data = Redis::lrange('list1',0,-1);//获取队列中所以的值
$data = Redis::lindex('list1',9);//返回指定下标的队列元素
Redis::ltrim('list1',0,3);//只保留队列前4个元素,其余的都删掉。
$data = Redis::lrange('list1',0,-1);//结果显示为0,1,2,3,4
Redis::rpush('list2','ab1');
Redis::rpoplpush('list1','list2');//从list1中取最后一个元素,放入list2的首位
Redis::rpoplpush('list2','list2');
Redis::linsert('list2','before','ab1','123');//在队列list2中的ab1之前插入123
Redis::linsert('list2','after','ab1','456');//在队列list2中的ab1之后插入456
$data = Redis::lrange('list2',0,-1);

//        set无序集合操作
Redis::sadd('set1','ab');
Redis::sadd('set1','cd');
Redis::sadd('set1','ef');
Redis::srem('set1','ef');//移除set1集合中的ef这个元素
Redis::smove('set1','set2','ab');//移动set1中的ab到set2返回true或者false
$data = Redis::smembers('set2');//返回无序集合的所有值

//        set有序集合操作
Redis::zadd('zset1',1,'ab');
Redis::zadd('zset1',2,'cd');
Redis::zadd('zset1',10,'ef');
Redis::zrem('zset1','ef');//移除ef这个元素
$data = Redis::zrangebyscore('zset1',2,9);//返回cd,返回的是2到9这个区间的值
$data = Redis::zcard('zset1');//统计元素的个数
$data = Redis::zscore('zset1','ef');//获取ef这个元素的下标
Redis::zremrangebyscore('zset1',0,2);//删除下标0到2之间的元素   返回ef
$data = Redis::zrange('zset1',0,-1);//返回有序集合的所有值

//        hash表操作
Redis::hset('hash1','key1',123);
Redis::hdel('hash1','key1');//删除key1这个key对应的元素
$data = Redis::hget('hash1','key1');//取相应key对应的值
$data = Redis::hlen('hash1');//返回hash1元素个数
Redis::hsetnx('hash1','key1','v2');//增加一个元素,但不能重复
Redis::hmset('hash1',$data);//添加数组
$data1 = [0,1,2,3,4,5,6,7,8,9];
$data = Redis::hmget('hash1',$data1);//查询数组格式
$data = Redis::hget('hash1','key1');
$data = Redis::hgetall('hash1');//返回整个hash表元素
$data = Redis::hvals('hash1');//返回hash表中的所有value值
Redis::select(2);
Redis::set('foo','bar');
Redis::move('foo',2);
$data = Redis::get('foo');

//        事物
Redis::multi();
Redis::set('book-name','Mastering C++ in 21 days');
Redis::get('book-name');
Redis::sadd('tag','c++','Programming','Mastering Series');
Redis::smembers('tag');
Redis::exec();


更多参考:https://segmentfault.com/a/1190000009695841

回复数量: 0
    暂无评论~~
    • 请注意单词拼写,以及中英文排版,参考此页
    • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
    • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
    • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
    • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
    Ctrl+Enter