##項目環境背景: 公司的關於銷售排行的數據已經達到了2千多萬條,在查詢數據庫須要等待的時間增加。所以想優化查詢速度。 ####1.合理創建索引 根據表的設計,合理創建相關的索引,由於涉及到一些公司機密,這裏不方便寫太多,有興趣的童鞋能夠自行搜索資料。 ####2.合理分表 根據業務需求進行合理分表,將不經常使用到的的數據分到另一張表,例如將每三個季度或者1年爲一個週期。若是數據涉及到了好幾年前,能夠把幾年前的數據放到另一個數據庫維護。把專一度放在近期。 ####3.緩存技術 能夠把一些常常會查詢的數據作一些緩存。 本次採用redis ,高性能key-value 數據庫。 緣由:php
性能極高 – Redis能讀的速度是110000次/s,寫的速度是81000次/s 。git
豐富的數據類型 – Redis支持二進制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 數據類型操做。github
原子 – Redis的全部操做都是原子性的,同時Redis還支持對幾個操做全並後的原子性執行。redis
豐富的特性 – Redis還支持 publish/subscribe, 通知, key 過時等等特性。sql
本次是利用php連接redis 進行實際的例子。 1.到github找到相關版本號的phpredis https://github.com/phpredis/phpredis/releases數據庫
將相關的php插件放到相關的ext 路徑下。windows
2.查看插件是否配置成功 成功例子: 緩存
3.啓動redisbash
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);
?>
複製代碼
redis簡單set 數據php方式:
<?php
//鏈接本地的 Redis 服務
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->set('cc',31);
if ($redis) {
echo "success";
}
?>
複製代碼
redis 簡單get數據 php方式
<?php
//鏈接本地的 Redis 服務
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
echo $redis->get('cc');
?>
複製代碼
通過php得到的數據。