Laravel操作redis数据库的数据类型(string、哈希、无序集合、list链表、有序集合)

  1. 基本使用

环境配置
.env
REDIS_CLIENT=phpredis

在头部引入

use Illuminate\Support\Facades\Redis;

基本使用

// 清空Redis数据库
Redis::flushall();

//定义有效期 
Redis::expire($key,60 );//60秒

// redis的哈希类型
Redis::hmset('happy:huizhou',['name'=>"惠州"]);
Redis::hmset("fail:xiaoshou",[
    "lover" => "黑嘿嘿🙂",
    'nice' => "我是佩奇",
    '挑衅' => '来打我啊'
]);
dump(Redis::hgetall("happy:huizhou"));
dump(Redis::hgetall('fail:xiaoshou'));


// redis的无序列表
Redis::sAdd('huizhou',['小东','小追命','小龙女']);
Redis::sAdd('xiaoshou',['小明','小追命','阳光宅猫']);
#获取无序集合
dump(Redis::smembers('huizhou'));
dump(Redis::smembers('xiaoshou'));
#获取并集
dump(Redis::sunion('huizhou','xiaoshou'));
#获取交集
dump(Redis::sinter("xiaoshou",'huizhou'));
#获取huizhou与xiaoshou的差集
dump(Redis::sdiff("xiaoshou",'huizhou'));
#获取xiaoshou与huizhou的差集
dump(Redis::sdiff('huizhou',"xiaoshou"));
echo "<br/><hr/>";


// redis的list链表的使用
#栈 -> 先进后出
Redis::lpush("list1",'one');
Redis::lpush("list1",'two');
Redis::lpush("list1",'three');
dump(Redis::lrange('list1',0,-1));


#队列 ->先进先出
Redis::rpush('rlist','one');
Redis::rpush('rlist','two');
Redis::rpush('rlist','three');
dump(Redis::lrange("rlist",0,-1));
#弹出队列和栈的元素
Redis::lpop("list1");


// redis的有序集合
Redis::zadd("zlist",1,"小明");
Redis::zadd("zlist",3,"惠州");
Redis::zadd("zlist",2,"加藤杰");
dump(Redis::zrange("zlist",0,-1));
dump(Redis::zrevrange("zlist",0,-1));
/**
 * 队列小例子
 */
public function Sickers() {
    $sickers = [
        '01李四,到0006诊所就诊',
        '02张三,到0009诊所就诊',
        '03王五,到0008诊所就诊'
    ];

    foreach ($sickers as $sicker){
        // 把病人放到队列中
        Redis::rpush('Queue',$sicker);
    }
    return "挂号成功....";
}

public function  Doctor() {
    $sicker = Redis::lpop("Queue");
    if ($sicker){
       return $sicker;
    }else{
       return "医生下班····";
    }
}

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 lzdong@foxmail.com

×

喜欢就点赞,疼爱就打赏