php 連結redis 實際例子

lkycan發表於2017-12-14

##專案環境背景: 公司的關於銷售排行的資料已經達到了2千多萬條,在查詢資料庫需要等待的時間增長。因此想優化查詢速度。 ####1.合理建立索引 根據表的設計,合理建立相關的索引,因為涉及到一些公司機密,這裡不方便寫太多,有興趣的童鞋可以自行搜尋資料。 ####2.合理分表 根據業務需求進行合理分表,將不常用到的的資料分到另外一張表,例如將每三個季度或者1年為一個週期。如果資料涉及到了好幾年前,可以把幾年前的資料放到另外一個資料庫維護。把專注度放在近期。 ####3.快取技術 可以把一些經常會查詢的資料做一些快取。 本次採用redis ,高效能key-value 資料庫。 原因:

效能極高 – Redis能讀的速度是110000次/s,寫的速度是81000次/s 。

豐富的資料型別 – Redis支援二進位制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 資料型別操作。

原子 – Redis的所有操作都是原子性的,同時Redis還支援對幾個操作全並後的原子性執行。

豐富的特性 – Redis還支援 publish/subscribe, 通知, key 過期等等特性。

本次是利用php連結redis 進行實際的例子。 1.到github找到相關版本號的phpredis https://github.com/phpredis/phpredis/releases

將相關的php外掛放到相關的ext 路徑下。

Paste_Image.png


2.檢視外掛是否配置成功 成功例子:

Paste_Image.png


3.啟動redis

1.執行 redis-server.exe redis.windows.conf

2.另外啟動一個命令視窗,redis-cli

3.編寫php連結redis

程式碼:

<?php
	//connect redis 
	// $redis =new Redis();
	// $redis->connect('127.0.0.1',6379);

	// echo "Connect to server sucessfully<br>";

	// echo "Server is running : ".$redis->ping(); 
	
	   //連線本地的 Redis 服務
   $redis = new Redis();
   $redis->connect('127.0.0.1', 6379);
   echo "Connection to server sucessfully<hr>";
   //儲存資料到列表中
   // $redis->lpush("tutorial-list", "Redis");
   // $redis->lpush("tutorial-list", "Mongodb");
   // $redis->lpush("tutorial-list", "Mysql");
   // 獲取儲存的資料並輸出
   $arList = $redis->lrange("tutorial-list", 0 ,50);
   echo "Stored string in redis";
   print_r($arList);

?>

複製程式碼

Paste_Image.png


redis簡單set 資料php方式:

<?php
		
	   //連線本地的 Redis 服務
   $redis = new Redis();
   $redis->connect('127.0.0.1', 6379);

   $redis->set('cc',31);
   if ($redis) {
      echo "success";
   }

?>
複製程式碼

Paste_Image.png


redis 簡單get資料 php方式

<?php
		
	   //連線本地的 Redis 服務
   $redis = new Redis();
   $redis->connect('127.0.0.1', 6379);

  echo  $redis->get('cc');
   
?>
複製程式碼

經過php獲得的資料。

Paste_Image.png


相關文章