php53redis
1. php如何解決redis的存取亂碼問題
php文件的編碼格式:
header("charset=utf-8");
在存儲前,先把存儲的字元串轉碼。
$string = iconv('UTF-8','GBK',$string);
這時候存儲在redis中的中文就是GBK字元集的,讀取的時候不是亂碼了。
原理是window大部分系統上支持GBK字元集。
2. php 使用redis有什麼用
速度可以提高很多,因為PHP太過於依賴MYsql,但是MYSQL連接和讀取又浪費太多時間,導致請求非常的慢,知道電腦原理就知道,讀取數據,最快的是內存,然後是硬碟。REDIS相當於把數據放在內存里,所以不用MYSQL,而且是在內存里讀取更快。
3. thinkphp中的redis怎麼用啊
config.php 加如下代碼 ip根據自己的來修改
'DATA_CACHE_PREFIX' => 'Redis_',//緩存前綴
'DATA_CACHE_TYPE'=>'Redis',//默認動態緩存為Redis
'REDIS_RW_SEPARATE' => true, //Redis讀寫分離 true 開啟
'REDIS_HOST'=>'192.168.91.102', //redis伺服器ip,多台用逗號隔開;讀寫分離開啟時,第一台負責寫,其它[隨機]負責讀;
'REDIS_PORT'=>'6379',//埠號
'REDIS_TIMEOUT'=>'300',//超時時間
'REDIS_PERSISTENT'=>false,//是否長連接 false=短連接
'REDIS_AUTH'=>'',//AUTH認證密碼
任意控制器下的方法下寫:
測試redis
$redis = new \Redis();
$redis->connect('192.168.91.102',6379);
$redis->set('test','hello world!');
echo $redis->get("test");
4. php redis如何使用
開始在 PHP 中使用 Redis 前,要確保已經安裝了 redis 服務及 PHP redis 驅動,且你的機器上能正常使用 PHP。
PHP安裝redis擴展
/usr/local/php/bin/phpize #php安裝後的路徑
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
修改php.ini文件
vi /usr/local/php/lib/php.ini
增加如下內容:
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20090626"
extension=redis.so
安裝完成後重啟php-fpm 或 apache。查看phpinfo信息,就能看到redis擴展。
連接到 redis 服務
<?php
//連接本地的 Redis 服務
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
echo "Connection to server sucessfully";
//查看服務是否運行
echo "Server is running: " . $redis->ping();
?>
執行腳本,輸出結果為:
Connection to server sucessfully
Server is running: PONG
Redis PHP String(字元串) 實例
<?php
//連接本地的 Redis 服務
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
echo "Connection to server sucessfully";
//設置 redis 字元串數據
$redis->set("tutorial-name", "Redis tutorial");
// 獲取存儲的數據並輸出
echo "Stored string in redis:: " . jedis.get("tutorial-name");
?>
執行腳本,輸出結果為:
Connection to server sucessfully
Stored string in redis:: Redis tutorial
Redis PHP List(列表) 實例
<?php
//連接本地的 Redis 服務
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
echo "Connection to server sucessfully";
//存儲數據到列表中
$redis->lpush("tutorial-list", "Redis");
$redis->lpush("tutorial-list", "Mongodb");
$redis->lpush("tutorial-list", "Mysql");
// 獲取存儲的數據並輸出
$arList = $redis->lrange("tutorial-list", 0 ,5);
echo "Stored string in redis:: "
print_r($arList);
?>
執行腳本,輸出結果為:
Connection to server sucessfully
Stored string in redis::
Redis
Mongodb
Mysql
Redis PHP Keys 實例
<?php
//連接本地的 Redis 服務
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
echo "Connection to server sucessfully";
// 獲取數據並輸出
$arList = $redis->keys("*");
echo "Stored keys in redis:: "
print_r($arList);
?>
執行腳本,輸出結果為:
Connection to server sucessfully
Stored string in redis::
tutorial-name
tutorial-list
5. php redis有沒有辦法獲取所有redis列表
首先需要定時清理的是不是可以設置下有效時間呢,接著你說的獲取redis全部key*是想在php中操作么,那麼建議
$redis->keys('*');
這樣解決就可以了,簡單粗暴,個人建議還是去後盾網去經常看看教學視頻學習學習吧
6. php中關於redis和資料庫
select 查詢的時候始終先查 redis 有沒有,沒有去查資料庫,再把結果緩存起來;
update 修改完資料庫內容後,同時對 redis 中緩存的數據做一下 update 更新操作,這樣 select 查詢 redis 的時候就是查詢的最新數據;
同理,delete、insert 操作資料庫後也要同時對 redis 中緩存的數據做 update 更新操作,這樣 select 查詢 redis 的時候就是查詢的最新數據;
這樣,所有的查詢操作就都是對 redis 做緩存讀取,可以緩解資料庫的壓力;