導航:首頁 > 編程語言 > phpredislist操作

phpredislist操作

發布時間:2024-02-04 23:28:59

⑴ 在php中 為什麼不能使用redis類

redis是一個key-value存儲系統。和Memcached類似,它支持存儲的value類型相對更多,包括string(字元串)、list(鏈表)、set(集合)和zset(有序集合)。這些數據類型都支持push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,redis支持各種不同方式的排序。與memcached一樣,為了保證效率,數據都是緩存在內存中。區別的是redis會周期性的把更新的數據寫入磁碟或者把修改操作寫入追加的記錄文件,並且在此基礎上實現了master-slave(主從)同步。
Redis 是一個高性能的key-value資料庫。redis的出現,很大程度補償了memcached這類keyvalue存儲的不足,在部 分場合可以對關系資料庫起到很好的補充作用。它提供了python,Ruby,Erlang,PHP客戶端,使用很方便。
若想在PHP中使用redis,首先要先安裝redis。然後在PHP中配置擴展。
安裝redis。
首先下載好redis安裝文件,解壓到D盤或其他盤。
然後通過Dos命令行進行安裝。
把這個文件夾復制到其它地方,比如D:\redis 目錄下。
打開一個cmd窗口 使用cd命令切換目錄到D:\redis 運行 redis-server.exe redis.conf
如果想方便的話,可以把redis的路徑加到系統的環境變數里,這樣就省得再輸路徑了,後面的那個redis.conf可以省略,如果省略,會啟用默認的。
這時候另啟一個cmd窗口,原來的不要關閉,不然就無法訪問服務端了
切換到redis目錄下運行 redis-cli.exe -h 127.0.0.1 -p 6379

這時候,就已經完成配置了。
完成了配置之後,要在PHP中添加redis的擴展,之後才可以用PHP靈活的使用它。
在windows下安裝php的redis擴展非常簡單,下載一個.dll擴展包放到php的ext目錄下,在php.ini里邊添加一行配置就可以了。

php代碼測試

redis=newRedis();redis->connect(『127.0.0.1′,6379);
redis−>set(『test′,′helloworld!′);echoredis->get(『test』);

輸出hello world!

⑵ php redis 可以使用yeild嗎

PHP中redis的使用
redis是一個key-value存儲系統。和Memcached類似,它支持存儲的value類型相對更多,包括string(字元串)、list(鏈表)、set(集合)和zset(有序集合)。這些數據類型都支持push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,redis支持各種不同方式的排序。與memcached一樣,為了保證效率,數據都是緩存在內存中。區別的是redis會周期性的把更新的數據寫入磁碟或者把修改操作寫入追加的記錄文件,並且在此基礎上實現了master-slave(主從)同步。
Redis 是一個高性能的key-value資料庫。redis的出現,很大程度補償了memcached這類keyvalue存儲的不足,在部 分場合可以對關系資料庫起到很好的補充作用。它提供了Python,Ruby,Erlang,PHP客戶端,使用很方便。
若想在PHP中使用redis,首先要先安裝redis。然後在PHP中配置擴展。
1.安裝redis。
首先下載好redis安裝文件,解壓到D盤或其他盤。
然後通過Dos命令行進行安裝。
把這個文件夾復制到其它地方,比如D:\redis 目錄下。
打開一個cmd窗口 使用cd命令切換目錄到D:\redis 運行 redis-server.exe redis.conf如果想方便的話,可以把redis的路徑加到系統的環境變數里,這樣就省得再輸路徑了,後面的那個redis.conf可以省略,如果省略,會啟用默認的。輸入之後,會顯示如下界面:
這時候另啟一個cmd窗口,原來的不要關閉,不然就無法訪問服務端了切換到redis目錄下運行 redis-cli.exe -h 127.0.0.1 -p 6379 出現下圖:
這時候,就已經完成配置了。
完成了配置之後,要在PHP中添加redis的擴展,之後才可以用PHP靈活的使用它。
在windows下安裝php的redis擴展非常簡單,下載一個.dll擴展包放到php的ext目錄下,在php.ini里邊添加一行配置就可以了。

⑶ php實現redis資料庫指定庫號遷移的方法

這篇文章主要介紹了php實現redis資料庫指定庫號遷移的方法,涉及對於redis資料庫的操作技巧,非常具有實用價值,需要的朋友可以參考下

本文實例講述了php實現redis資料庫指定庫號遷移的方法,分享給大家供大家參考。具體如下:
redis普通的資料庫遷移,只能整個redis
save,或者利用主從,當然也可以安裝一個redis-mp,不過比較麻煩,這里提供一種php的腳本,實現指定庫號的遷移,其實也就是遍歷根據存儲類型,讀出來,插入新庫,效果是這樣:
代碼如下:
[root@localhost
~]#
php
1.php
1/407
101/407
201/407
301/407
401/407
PHP實例代碼如下:
代碼如下:
<?php
$from
=
'10.0.2.52:6379/7';
$to
=
'127.0.0.1:6379/7';
$from_redis
=
redis_init($from);
$to_redis
=
redis_init($to);
$keys
=
$from_redis->keys('*');
$count
=
0;
$total
=
count($keys);
foreach($keys
as
$key){
if(++$count
%
100
==
1){
echo
"$count/$totaln";
}
$type
=
$from_redis->type($key);
switch($type){
case
Redis::REDIS_STRING:
$val
=
$from_redis->get($key);
$to_redis->set($key,
$val);
break;
case
Redis::REDIS_LIST:
$list
=
$from_redis->lRange($key,
0,
-1);
foreach($list
as
$val){
$to_redis->rPush($key,
$val);
}
break;
case
Redis::REDIS_HASH:
$hash
=
$from_redis->hGetAll($key);
$to_redis->hMSet($key,
$hash);
break;
case
Redis::REDIS_ZSET:
$zset
=
$from_redis->zRange($key,
0,
-1,
true);
foreach($zset
as
$val=>$score){
$to_redis->zAdd($key,
$score,
$val);
}
break;
}
}
function
redis_init($conf){
$redis
=
new
Redis();
preg_match('/^([^:]+)(:[0-9]+)?/(.+)?/',
$conf,
$ms);
$host
=
$ms[1];
$port
=
trim($ms[2],
':');
$db
=
$ms[3];
$redis->connect($host,
$port);
$redis->select($db);
return
$redis;
}
?>

希望本文所述對大家的php程序設計有所幫助。

⑷ redis隊列什麼意思

Redis隊列功能介紹

List

常用命令:

Blpop刪除,並獲得該列表中的第一元素,或阻塞,直到有一個可用

Brpop刪除,並獲得該列表中的最後一個元素,或阻塞,直到有一個可用

Brpoplpush

Lindex獲取一個元素,通過其索引列表

Linsert在列表中的另一個元素之前或之後插入一個元素

Llen獲得隊列(List)的長度

Lpop從隊列的左邊出隊一個元素

Lpush從隊列的左邊入隊一個或多個元素

Lpushx當隊列存在時,從隊到左邊入隊一個元素

Lrange從列表中獲取指定返回的元素

Lrem從列表中刪除元素

Lset設置隊列裡面一個元素的值

Ltrim修剪到指定范圍內的清單

Rpop從隊列的右邊出隊一個元素

Rpoplpush刪除列表中的最後一個元素,將其追加到另一個列表

Rpush從隊列的右邊入隊一個元素

Rpushx從隊列的右邊入隊一個元素,僅隊列存在時有效

Redis支持php、python、c等介面

應用場景:

Redislist的應用場景非常多,也是Redis最重要的數據結構之一,比如twitter的關注列表,粉絲列表等都可以用Redis的list結構來實現。

Lists就是鏈表,相信略有數據結構知識的人都應該能理解其結構。使用Lists結構,我們可以輕松地實現最新消息排行等功能。

Lists的另一個應用就是消息隊列,

可以利用Lists的PUSH操作,將任務存在Lists中,然後工作線程再用POP操作將任務取出進行執行。Redis還提供了操作Lists中某一段的api,你可以直接查詢,刪除Lists中某一段的元素。

如果需要還可以用redis的Sorted-Sets數據結構來做優先隊列.可以給每條消息加上一個唯一的序號。這里就不詳細介紹了。

實現方式:

Redislist的實現為一個雙向鏈表,即可以支持反向查找和遍歷,更方便操作,不過帶來了部分額外的內存開銷,Redis內部的很多實現,包括發送緩沖隊列等也都是用的這個數據結構。

示意圖:

1)入隊

⑸ 如何使用Redis 做隊列操作

閱讀全文

與phpredislist操作相關的資料

熱點內容
聯想伺服器怎麼進後台 瀏覽:110
安卓定製rom怎麼刷 瀏覽:537
三層交換機的配置命令 瀏覽:108
49演算法公式 瀏覽:788
求最小生成樹演算法代碼及運行圖片 瀏覽:930
python掃雷計數 瀏覽:879
什麼安卓手機品牌最保值 瀏覽:843
編程貓買房子 瀏覽:134
c語言系列編程 瀏覽:742
符合國標加密標准技術 瀏覽:496
加密狗介面會壞嗎 瀏覽:625
javame開發 瀏覽:380
python3偽裝瀏覽器 瀏覽:242
信息聯想伺服器專班是干什麼的 瀏覽:99
python獲取cpu個數 瀏覽:864
命令提示符查網速 瀏覽:229
對於某個理論演算法可以直接抄嗎 瀏覽:188
如何訪問ftp伺服器下載文件 瀏覽:392
呼蘭程序員吐槽剪輯 瀏覽:493
python計運算元網掩碼 瀏覽:57