1. 程式人生 > >laravel-- 在laravel操作redis數據庫的數據類型(string、哈希、無序集合、list鏈表、有序集合)

laravel-- 在laravel操作redis數據庫的數據類型(string、哈希、無序集合、list鏈表、有序集合)

sadd cti string類型 數據 http hal 基本 nice 隊列

安裝redis和連接redis數據庫

在controller頭部引入

技術分享圖片

一.基本使用

 1  public function RedisdDbOne() {
 2         // 清空Redis數據庫
 3         Redis::flushall();
 4 
 5 
 6          // redis的string類型
 7          Redis::set("laravel","Hello woshi laravel");
 8          dump(Redis::get("laravel")) ;
 9 
10 
11          //
redis的哈希類型 12 Redis::hmset(‘happy:huizhou‘,[‘name‘=>"惠州"]); 13 Redis::hmset("fail:xiaoshou",[ 14 "lover" => "黑嘿嘿??", 15 ‘nice‘ => "我是xiaoshou", 16 ‘挑釁‘ => ‘來打我啊‘ 17 ]); 18 dump(Redis::hgetall("happy:huizhou"));
19 dump(Redis::hgetall(‘fail:xiaoshou‘)); 20 echo "<br/><hr/>"; 21 22 23 // redis的無序列表 24 Redis::sAdd(‘huizhou‘,[‘小東‘,‘小追命‘,‘小龍女‘]); 25 Redis::sAdd(‘xiaoshou‘,[‘小明‘,‘小追命‘,‘陽光宅貓‘]); 26 #獲取無序集合 27 dump(Redis::smembers(‘huizhou‘));
28 dump(Redis::smembers(‘xiaoshou‘)); 29 #獲取並集 30 dump(Redis::sunion(‘huizhou‘,‘xiaoshou‘)); 31 #獲取交集 32 dump(Redis::sinter("xiaoshou",‘huizhou‘)); 33 #獲取huizhou與xiaoshou的差集 34 dump(Redis::sdiff("xiaoshou",‘huizhou‘)); 35 #獲取xiaoshou與huizhou的差集 36 dump(Redis::sdiff(‘huizhou‘,"xiaoshou")); 37 echo "<br/><hr/>"; 38 39 40 // redis的list鏈表的使用 41 #棧 -> 先進後出 42 Redis::lpush("list1",‘one‘); 43 Redis::lpush("list1",‘two‘); 44 Redis::lpush("list1",‘three‘); 45 dump(Redis::lrange(‘list1‘,0,-1)); 46 47 #隊列 ->先進先出 48 Redis::rpush(‘rlist‘,‘one‘); 49 Redis::rpush(‘rlist‘,‘two‘); 50 Redis::rpush(‘rlist‘,‘three‘); 51 dump(Redis::lrange("rlist",0,-1)); 52 #彈出隊列和棧的元素 53 Redis::lpop("list1"); 54 55 // redis的有序集合 56 Redis::zadd("zlist",1,"小明"); 57 Redis::zadd("zlist",3,"惠州"); 58 Redis::zadd("zlist",2,"加藤傑"); 59 dump(Redis::zrange("zlist",0,-1)); 60 dump(Redis::zrevrange("zlist",0,-1)); 61 62 63 }

效果

技術分享圖片

技術分享圖片

二.隊列應用小例子

 1  /**
 2      * 隊列
 3      */
 4     public function Sickers() {
 5         $sickers = [
 6             ‘01李四,到0006診所就診‘,
 7             ‘02張三,到0009診所就診‘,
 8             ‘03王五,到0008診所就診‘
 9         ];
10 
11         foreach ($sickers as $sicker){
12             // 把病人放到隊列中
13             Redis::rpush(‘Queue‘,$sicker);
14         }
15         return "掛號成功....";
16     }
17 
18     public function  Doctor() {
19         $sicker = Redis::lpop("Queue");
20         if ($sicker){
21            return $sicker;
22         }else{
23            return "醫生下班····";
24         }
25     }

laravel-- 在laravel操作redis數據庫的數據類型(string、哈希、無序集合、list鏈表、有序集合)