本文介绍系统缓存组件,采用NOSQL之Redis作为系统缓存层。
一、背景
系统考虑到高并发的使用场景。对于并发提交场景,通过上一章节介绍的RabbitMQ组件解决。对于系统高并发查询,为了提供性能减少数据库压力,我们加入缓存机制,可以不同层次加入缓存支持,本文主要介绍应用服务层和数据层之间加入缓存机制提升性能。业界缓存组件有Redis、Memcached、MemoryCache。本系统采用Redis缓存组件,有些系统将Redis当作MQ使用,此场景本系统用RabbitMQ,Redis主要用于系统缓存应用。
二、Redis简介
Redis是一个开源的Key-Value数据库,使用C语言编写、支持网络、可基于内存亦可持久化的NOSQL数据库,并提供多种语言的API,例如:Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby等语言驱动。自Redis3.0开始支持集群方案。
相关Redis Cluster 原理在此不多介绍,网络上有很多资料。
三、Redis集群应用
(一)环境介绍
本系统基于Linux之CentOS搭建Redis3.0集群。将三个Instance部署于一台虚拟机,应用部署于windows平台。
序号 | 服务IP | 说明 |
1 | 192.168.1.110 | Redis节点A端口:7000(M),7003(S) Redis节点B端口:7001(M),7004(S) Redis节点C端口:7002(M),7005(S) |
(二)安装Redis
1、安装相关依赖工具
1
|
[root@andoncentos 桌面]# yum -y install gcc openssl-devel libyaml-devel libffi-devel readline-devel zlib-devel gdbm-devel ncurses-devel gcc-c++ automake autoconf
|
2、安装Redis 3.0.6
1
|
[root@andoncentos 桌面]# cd /usr/loacal
|
1
|
[root@andoncentos loacal]# wget http:
//download.redis.io/releases/redis-3.0.6.tar.gz
|
1
|
[root@andoncentos 桌面]#<span
class
=
"line"
> tar xvf redis-3.0.6.tar.gz<br></span>
|
1
|
[root@andoncentos 桌面]# <span
class
=
"line"
>cd redis-3.0.6/</span>
|
1
|
[root@andoncentos 桌面]# <span
class
=
"line"
>make MALLOC=libc</span>
|
1
|
<span
class
=
"line"
>[root@andoncentos redis-3.0.6]# make install</span>
|
3、由于我们使用不同端口号区分,在两个服务各自建立以端口命名的文件夹。配置7000节点服务,将redis-server和redis.conf复制到/etc/redis/7000
1
|
[root@andoncentos 桌面]# mkdir /etc/redis/7000
|
1
|
[root@andoncentos 桌面]# mkdir /etc/redis/7001
|
1
|
[root@andoncentos 桌面]# mkdir /etc/redis/7002
|
1
|
[root@andoncentos 桌面]# mkdir /etc/redis/7003
|