近期因为公司业务的发展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就必须把它的数据类型操做、特性、基本工做原理吃透,不然那就是灾难
索引