近期因爲公司業務的發展Mysql寫入成爲了瓶頸,固然也有方案繼續優化,例如分庫分表、內存表等等,但成本較高,例如內存佔用,聚合運算。。。php
redis聽說寫入性能強悍,實測14w/s(list鏈表),後期也支持橫向擴展
redis
redis的使用sql
多個實例,充分發揮redis在一臺服務器工做效能數組
<?php $redis80 = new Redis(); $redis->pconnect( '127.0.0.1', 6380 ); $redis->auth( 'your passwrod' ); $redis81 = new Redis(); $redis->pconnect( '127.0.0.1', 6381 ); $redis->auth( 'your passwrod' );
2.redis pipeline,批量處理數據提高效率服務器
<?php //把要處理的數據存入數組 $data=array('a'=>1,'b'=>2,'c'=>3); //pipeline $redis80->pipeline(); foreach ( $data as $k => $v ) { $redis80->set( $k, $v ); } $redis80->exec();
3.儘可能避免切庫操做,性能消耗很大,搭配使用數據類型,例如我用String給list作索引知足複雜運算需求
性能
感覺:優化
Mysql格式化存儲數據,消耗更多的資源(內存,磁盤)用於數據計算的性能提高設計
redis數據相對簡單資源佔用小,但若是與業務設計不符那就還不如用Mysql來的實在code
在生產環境中想用redis就必須把它的數據類型操做、特性、基本工做原理吃透,不然那就是災難
索引