phpredis
⑴ php刪除Redis所有數據
1、創建userinfo_update.php,用於查詢用戶信息,先顯示信息,在修改:先通過GET獲取用戶編號查詢用戶信息:$sql = "select * from user_info where user_id='".$_GET['userId']."'"; $result = mysql_query($sql,$con);if($row = mysql_fetch_array($result)){}。
⑵ php文件緩存,redis 哪個更快
肯定是redis了,redis是基於內存的緩存。文件緩存有讀寫IO限制
⑶ 如何測試 php安裝成功redis
解壓安裝:
復制代碼代碼如下:
tar -xvf redis-2.8.17.tar.gz
make
sudo make install
為方便使用,在/usr目錄下創建redis目錄,講如下幾個文件拷貝到/usr/redis/目錄下:
復制代碼代碼如下:
/yourdir/redis-2.8.17/redis.conf
/yourdir/redis-2.8.17/src/redis-benchmark
/yourdir/redis-2.8.17/src/redis-server
/yourdir/redis-2.8.17/src/redis-cli
當然,你也可以通過軟連接的方式達到方便使用的目的。此外,你也可以將redis-server加入開機啟動,此處從略。
2.redis測試
1)先開啟redis服務端程序
為方便測試,我們將redis.conf配置文件中的loglevel和logfile的值,修改後如下:
loglevel debug
logfile 「/tmp/redis.log」
jay13@ubuntu:/usr/redis$ redis-server redis.conf
2)開啟redi客戶端,通過客戶端向redis資料庫中進行增刪改查操作。整個操作過程中生成的日誌可以到/tmp/redis.log中查看。
以最簡單的key操作為例,實例如下:
復制代碼代碼如下:
jay13@ubuntu:/usr/redis$ redis-cli
127.0.0.1:6379> set jay13 jb51.net
OK
127.0.0.1:6379> set jay hello,world
OK
127.0.0.1:6379> get jay
"hello,world"
127.0.0.1:6379> get jay13
"jb51.net"
127.0.0.1:6379> del jay
(integer) 1
127.0.0.1:6379> get jay
(nil)
127.0.0.1:6379> set jay13 www.jb51.net
OK
127.0.0.1:6379> get jay13
"www.jb51.net"
3.安裝phpredis擴展
在使用sudo apt-get install php5安裝php時,默認是沒有安裝phpize的,我們安裝phpredis時,需要用到phpize,因此,需要先安裝phpize。
1)我們通過安裝php開發者工具來獲取phpize。執行如下命令即可:
復制代碼代碼如下:
sudo apt-get install php5-dev
2)獲取phpredis源文件
按照GitHub上的說明進行如下安裝時,
復制代碼代碼如下:
phpize
./configure --enable-redis-igbinary
make && make install
可能會出現如下出錯說明:
復制代碼代碼如下:
checking for igbinary includes... configure: error: Cannot find igbinary.h
⑷ redis使用php怎麼進行更新
php/redis 更新緩存的問題 [ 2.0 版本 ]
if(!$redis->exists('cache'))
{
echo '寫入緩存<br>';
$sql = "select * from user limit 0,3";
$rs = mysqli_query($connect,$sql) or die('db conn error');
while( $result = mysqli_fetch_assoc($rs) )
{
array_push($results,$result);
}
$cache = json_encode($results);
echo $cache;
$redis->set('cache',$cache,1200);
}
else
{
echo '讀取緩存<br>';
echo $redis->get('cache');
}
後台進行add/update/delete時,自動讓緩存失效。
⑸ php 怎麼安裝redis擴展
1、首先到相應網站下載redis:
下載完成後解壓到任意盤符如:D:/redis
裡麵包括:如圖所示。
redis-server.exe:服務程序
redis-check-mp.exe:本地資料庫檢查
redis-check-aof.exe:更新日誌檢查
redis-benchmark.exe:性能測試,用以模擬同時由N個客戶端發送M個 SETs/GETs 查詢 (類似於 Apache 的ab 工具).
當然還需要一個:redis.conf(具體內容網上隨便搜都會有)
2、啟動redis:
用cmd命令進入到redis的根目錄,
輸入命令:redis-server.exe redis.conf
啟動後如圖所示:
啟動cmd窗口要一直開著,關閉後則Redis服務關閉。
3、這時服務開啟著,另外開一個窗口進行,設置客戶端:
輸入命令:redis-cli.exe -h 192.168.2.168 -p 6379(這個ip自己定哈,6379為redis默認埠)
輸入後如圖所示:
4、安裝redis擴展
首先,查看所用php編譯版本V6/V9 在phpinfo()中查看
5、去相應網站下載redis擴展:
如圖所示下載對應版本的redis擴展
6、將下載的php_redis.dll放在php擴展目錄中(ext),並修改配置文件php.ini
添加 擴展的時候一定要
extension=php_igbinary.dll
extension=php_redis.dll
這個順序如圖:
7、重新啟動服務,查看phpinfo(),出現如圖表示成功;
8、PHP代碼測試
$redis = new Redis();
$redis->connect("192.168.138.2","6379"); //php客戶端設置的ip及埠
//存儲一個 值
$redis->set("say","Hello World");
echo $redis->get("say"); //應輸出Hello World
//存儲多個值
$array = array('first_key'=>'first_val',
'second_key'=>'second_val',
'third_key'=>'third_val');
$array_get = array('first_key','second_key','third_key');
$redis->mset($array);
var_mp($redis->mget($array_get));
⑹ php 使用redis有什麼用
速度可以提高很多,因為PHP太過於依賴MYSQL,但是MYSQL連接和讀取又浪費太多時間,導致請求非常的慢,知道電腦原理就知道,讀取數據,最快的是內存,然後是硬碟。REDIS相當於把數據放在內存里,所以不用MYSQL,而且是在內存里讀取更快。
⑺ php怎樣使用redis緩存數據
<?php
/**
* Redis緩存操作
* @author hxm
* @version 1.0
* @since 2015.05.04
*/
class RCache extends Object implements CacheFace
{
private $redis = null; //redis對象
private $sId = 1; //servier服務ID
private $con = null;//鏈接資源
/**
* 初始化Redis
*
* @return Object
*/
public function __construct()
{
if ( !class_exists('Redis') )
{
throw new QException('PHP extension does not exist: Redis');
}
$this->redis = new Redis();
}
/**
* 鏈接memcahce服務
*
* @access private
* @param string $key 關鍵字
* @param string $value 緩存內容
* @return array
*/
private function connect( $sid )
{
$file = $this->CacheFile();
require $file;
if(! isset($cache) )
{
throw new QException('緩存配置文件不存在'.$file);
}
$server = $cache[$this->cacheId];
$sid = isset($sid) == 0 ? $this->sId : $sid;//memcache服務選擇
if ( ! $server[$sid])
{
throw new QException('當前操作的緩存伺服器配置文件不存在');
}希望能幫到你,我還在後盾網學習呢,有不會的可以問我,一會有空回答你。(^ω^)
⑻ php中關於redis和資料庫
select 查詢的時候始終先查 redis 有沒有,沒有去查資料庫,再把結果緩存起來;
update 修改完資料庫內容後,同時對 redis 中緩存的數據做一下 update 更新操作,這樣 select 查詢 redis 的時候就是查詢的最新數據;
同理,delete、insert 操作資料庫後也要同時對 redis 中緩存的數據做 update 更新操作,這樣 select 查詢 redis 的時候就是查詢的最新數據;
這樣,所有的查詢操作就都是對 redis 做緩存讀取,可以緩解資料庫的壓力;
⑼ php怎麼查看redis的key
首先開啟redis服務:
打開cmd命令窗口,將根目錄切換至redis根目錄;
開啟redis服務:輸入命令:redis-server.exe redis.conf 然後回車。
開啟成功後,此窗口不要關閉,另打開一個cmd窗口,連接客戶端:
1.打開cmd命令窗口,將根目錄切換至redis根目錄;
2.輸入連接命令:redis-cli.exe -h 127.0.0.1 -p 6379 然後回車
3.輸入key的查看命令:keys *
⑽ php redis 什麼時候用
默認情況下,Redis
服務會提供
16
個資料庫,PHPHub
使用
0
號資料庫來做緩存,1
號資料庫來做會話存儲
-
Laravel
下配置
Redis
讓緩存、Session
各自使用不同的
Redis
資料庫_PHPHub
隊列的話使用
Beanstalkd
最常用的就是緩存、隊列,當然還有很多其它的,如歸並計算、去重等。
我根據自己使用Redis的場景及個人最佳實踐,整理了一篇文章,redis應用場景與最佳實踐
比如網站搶購時,可以使用redis做隊列,可以使用redis來代替session功能,還有可以拿redis中的無序集合做socket的客戶端id存儲。