日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php操作redis实例大全

發布時間:2023/12/9 php 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php操作redis实例大全 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

每次用PHP再操作redis時都要找手冊或百度一下,為方便以后查找把php操作redis的方法和使用示例統一的整理在這篇文章里,以后就不用反反復復的百度了

首先php使用redis需要安裝php的redis擴展:

安裝成功后,可以在phpinfo()查看安裝的redis擴展的版本號?

String操作

代碼示例

$redis->setOption(Redis::OPT_PREFIX, 'hf_');//設置表前綴為hf_$redis->set('key', 1);//設置key=aa value=1 [true]$redis->ttl('key1'); //查詢生存時間,持久化的返回-1,有生存時間的返回時間(單位秒)$redis->expire('key', 10);//設置失效時間[true | false]$redis->expireAt('x', time() + 3);//key存活到一個unix時間戳時間$redis->persist('key');//移除生存時間到期的key 如果key到期 true 如果不到期 false$redis->mset(array('key0' => 'value0', 'key1' => 'value1'));//設置一個或多個鍵值[true]$redis->setnx('key', 'value');//key=value,key存在返回false[|true]$redis->get('key');//獲取key [value]$redis->mget($arr);//(string|arr),返回所查詢鍵的值$redis->del($key_arr);//(string|arr)刪除key,支持數組批量刪除【返回刪除個數】$redis->delete($key_str, $key2, $key3);//刪除keys,[del_num]$redis->getset('old_key', 'new_value');//先獲得key的值,然后重新賦值,[old_value | false]$redis->strlen('key');//獲取當前key的長度$redis->append('key', 'string');//把string追加到key現有的value中[追加后的個數]$redis->incr('key');//自增1,如不存在key,賦值為1(只對整數有效,存儲以10進制64位,redis中為str)[new_num | false]$redis->incrby('key', $num);//自增$num,不存在為賦值,值需為整數[new_num | false]$redis->decr('key');//自減1,[new_num | false]$redis->decrby('key', $num);//自減$num,[ new_num | false]$redis->setex('key', 10, 'value');//key=value,有效期為10秒[true]$redis->setex('testkey', 60, 'testval');//testkey=testval,有效期為60秒[true]$redis->keys('*'); //遍歷所有的鍵名

Hash操作

代碼示例

//為hash表中的字段賦值。成功返回1,失敗返回0。若hash表不存在會先創建表再賦值,若字段已存在會覆蓋舊值。 $ret = $redis->hSet('user', 'realname', 'jetwu'); //獲取hash表中指定字段的值。若hash表不存在則返回false。 $ret = $redis->hGet('user', 'realname'); //查看hash表的某個字段是否存在,存在返回true,否則返回false。 $ret = $redis->hExists('user', 'realname'); //刪除hash表的一個字段,不支持刪除多個字段。成功返回1,否則返回0。 $ret = $redis->hDel('user', 'realname'); //同時設置某個hash表的多個字段值。成功返回true。 $ret = $redis->hMset('user', ['name' => 'jet', 'age' => 18]); //同時獲取某個hash表的多個字段值。其中不存在的字段值為false。 $ret = $redis->hMget('user', ['name', 'age']); //獲取某個hash表所有的字段和值。 $ret = $redis->hGetAll('user'); //獲取某個hash表所有字段名。hash表不存在時返回空數組,key不為hash表時返回false。 $ret = $redis->hKeys('user'); //獲取某個hash表所有字段值。 $ret = $redis->hVals('user'); //為hash表中不存在的字段賦值。若hash表不存在則先創建,若字段已存在則不做任何操作。設置成功返回true,否則返回false。 $ret = $redis->hSetNx('user', 'realname', 'jetwu'); //獲取某個hash表的字段數量。若hash表不存在返回0,若key不為hash表則返回false。 $ret = $redis->hLen('user'); //為hash表中的指定字段加上指定增量值,若增量值為負數則相當于減法操作。若hash表不存在則先創建,若字段不存在則先初始化值為0再進行操作,若字段值為字符串則返回false。設置成功返回字段新值。 $ret = $redis->hIncrBy('user', 'age', 10); //為hash表中的指定字段加上指定浮點數增量值。 $ret = $redis->hIncrBy('user', 'age', 1.5);

Redis List(列表) 操作

//在list列表頭部插入一個值 ’1‘ ,如果'test'列表不存在則自動創建此列表。 $redis->lPush('test','1');//在list列表尾部插入一個值’2‘ ,如果'test'列表不存在則自動創建此列表。 $redis->rPush('test','2');//用于將一個值('1')插入到已存在的列表尾部(最右邊)。如果列表不存在,操作無效 返回列表的長度 $redis->rPushx('test','1');//用于將一個值('1')插入到已存在的列表頭部,如果列表不存在,操作無效 返回列表的長度 $redis->lPushx('test','1');//移除并返回列表的第一個元素,當’test‘不存在或為空時返回false $redis->lPop('test');//移除并返回列表的尾部最后一個元素,當’test‘不存在或為空時返回false $redis->rPop('test');//取出并刪除列表第一個元素,如果沒有元素則阻塞等待5秒或到可取出元素為止。 $redis->blPop('test',5);//取出并刪除列表最后一個元素,如果沒有元素則阻塞等待5秒或到可取出元素為止。 $redis->brPop('test',5);//移除test列表的最后一個元素,并將該元素添加到test2列表并返回 失敗返回false $redis->rpoplpush('test','test2');//移除test列表的最后一個元素,并將該元素添加到test2列表并返回 如果列表沒有元素則會阻塞列表5秒,直到超時或有可取元素,超時返回false $redis->brpoplpush('test', 'test2', 5);//返回列表長度 $redis->lLen('test');//獲取索引為1的列表中的元素,失敗返回false $redis->lIndex('test',1);//設置test列表索引為1的值為’1‘,失敗返回false $redis->lSet('test',1,'1');//在列表的元素前或者后插入元素。當指定元素不存在于列表中時,不執行任何操作。 // \Redis::BEFORE 插入元素之后 \Redis::AFTER 插入元素之前 //當列表不存在時,被視為空列表,不執行任何操作。如果 key 不是列表類型,返回一個錯誤。 $redis->lInsert('test', \Redis::AFTER,'a','1');//移除列表中與參數 VALUE (’1‘) 相等的元素 //count 可選范圍: //count > 0 : 從表頭開始向表尾搜索,移除與 VALUE 相等的元素,數量為 COUNT 。 //count < 0 : 從表尾開始向表頭搜索,移除與 VALUE 相等的元素,數量為 COUNT 的絕對值。 //count = 0 : 移除表中所有與 VALUE 相等的值 $redis->lRem('test','1',-1);//對一個列表進行修剪(trim),就是說,讓列表只保留指定區間內的元素,不在指定區間之內的元素都將被刪除 //下標 0 表示列表的第一個元素,以 1 表示列表的第二個元素,以此類推。 你也可以使用負數下標,以 -1 表示列表的最后一個元素, -2 表示列表的倒數第二個元素,以此類推 $redis->lTrim('test',1,5);//返回列表中指定區間內的元素,區間以偏移量 START 和 END 指定。 // 其中 0 表示列表的第一個元素, 1 表示列表的第二個元素,以此類推。 你也可以使用負數下標,以 -1 表示列表的最后一個元素, -2 表示列表的倒數第二個元素,以此類推 $redis->lRange('test',0,10);

后期用到會逐步的完善本文章

如有問題,歡迎大家留言溝通,點贊支持!!

總結

以上是生活随笔為你收集整理的php操作redis实例大全的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。