基于微擎框架实现Redis读写分离(微擎redis读写分离)
近几年,随着WEB业务的发展,特别是O2O行业由于大量数据的访问,造成数据库(一般是MySQL)的负载压力过大,而采用缓存(一般是Redis)来支撑访问量的流量峰值,变得至关重要。在进行分布式服务架构的设计中,一般,我们都会把数据库单个的节点变成一个读写分离的节点,形成一个读写集群架构,达到负载均衡,提高系统吞吐量,减少数据库负载压力;当然,Redis也是一样。
那么,如何才能实现微擎框架下Redis读写分离?
根据实际业务需求来合理分析设置读写集群,可以充分利用计算资源,达到负载均衡;
修改微擎框架相关配置,使用config类修改Redis的连接模式:
$config = isimsg_get.config_all();
$config[‘redis’][‘is_rw_separate’] = ‘1’; //1读写分离,0不分离
然后,对接Redis集群:
//写操作
$read_write_separate_arr = array(
‘write_server’ => array( //只有写操作
‘host’ => ‘127.0.0.1’,
‘port’ => ‘6379’,
‘auth’ => ”,
),
‘read_server’ => array( //读操作
‘hosts’ => array(
‘0’=> array(
‘host’ => ‘127.0.0.1’,
‘port’ => ‘6380’,
‘auth’ => ”,
),
‘1’ => array(
‘host’ => ‘127.0.0.1’,
‘port’ => ‘6381’,
‘auth’ => ”,
)
),
),
);
$this->redis_test = redis::instance(NULL, $read_write_separate_arr);
借助微擎框架,用户可以更加方便快捷的实现Redis读写分离。
总结来看,微擎框架实现Redis读写分离的方法相对简单,首先要根据业务需求设置读写集群,然后配置Redis连接模式,最后对接Redis集群,就可以实现分布式读写分离了。