redis的使用规范内部公开Word下载.docx
《redis的使用规范内部公开Word下载.docx》由会员分享,可在线阅读,更多相关《redis的使用规范内部公开Word下载.docx(9页珍藏版)》请在冰点文库上搜索。
修改内容
v0.1
2015-03-13
创建第一版本
填写说明:
1、文档密级是该文档允许扩散的范围。
2、版本号是指该文档的版本次序号,该文档首次发布时可确定为1.0,如果在上一版的基础上有细微的调整和修改,则可在小数点后次版本号加1;
如果该文档内容总体上有重大变化或增加/删除了重要章节,则小数点主版本号加1。
目录
Redis使用规范(内部公开)1
1引言4
1.1编写目的4
1.2编写原则4
1.3读者对象4
1.4文档贡献4
1.5术语定义4
1.5.1名词释义4
2典型使用5
2.1Session集群解决方案5
2.1.1集群配置(不同场景的机器配置会不一样)5
2.1.2引入Git项目5
2.1.3web.xml说明6
2.1.4配置文件说明7
2.2单表数据缓存方案8
2.3大量数据查询解决方案8
3上线规则9
3.1命名9
3.2消息大小限制9
3.3消息量的控制9
3.4消息量预估9
3.5扩容10
1引言
1.1编写目的
本文档制定使用Redis规范和使用要求,制定规范命名和流程化的使用规则,从而降低后期维护、扩容、管理的成本。
1.2编写原则
根据内部项目管理规范则,从业务人员的角度对需求的阐述,以及对需求描述的细化程度。
此文档将在开发过程随着需求的变更而更改和修订。
1.3读者对象
项目经理、开发人员、业务人员、测试人员。
1.4文档贡献
中间件团队。
1.5术语定义
1.5.1名词释义
术语
解释
Redis
可基于内存亦可持久化的日志型、Key-Value数据库。
2典型使用
2.1Session集群解决方案
用户登陆时的session可保存到redis集群中,应用程序重启,session依然存在,无需再次登陆。
2.1.1集群配置
机器最低配置3个监控节点,2个数据节点。
5个节点可以和其他机器互通,监控节点对系统资源开销较小。
2.1.2引入Git例子
例子:
RedisSession的使用。
通过简单配置,把session同步到Redis中。
增加一个过滤器,对所有请求进行过滤,session同步到redis中,无侵入性,代码改造量几乎没有。
ssh:
//git@116.228.55.189:
20022/middleware/redis-session.git
2.1.3web.xml说明
Web.xml
<
?
xmlversion="
1.0"
encoding="
UTF-8"
>
web-appxmlns:
xsi="
http:
//www.w3.org/2001/XMLSchema-instance"
xmlns="
xsi:
schemaLocation="
id="
WebApp_ID"
version="
2.5"
<
servlet>
servlet-name>
spring<
/servlet-name>
servlet-class>
org.springframework.web.servlet.DispatcherServlet<
/servlet-class>
load-on-startup>
1<
/load-on-startup>
/servlet>
servlet-mapping>
url-pattern>
/<
/url-pattern>
/servlet-mapping>
filter>
filter-name>
CharacterEncodingFilter<
/filter-name>
filter-class>
org.springframework.web.filter.CharacterEncodingFilter<
/filter-class>
init-param>
param-name>
encoding<
/param-name>
param-value>
UTF-8<
/param-value>
/init-param>
/filter>
filter-mapping>
/*<
/filter-mapping>
!
--redissessionstart-->
--
说明:
增加redissession过滤器,本测试用例使用的当下最流行的springMvc为基础框架,
正常流程是当一个请求进来,被上面的springMvc的'
/'
给拦截,然后进行DispatcherServlet处理。
本测试用例增加了一层过滤,在filter-mapping中的
AFSessionFilter<
该“spring”对应的是上面springMvc中的
所以,在引入的时候,请注意对应好“spring”。
-->
com.aixforce.session.AFSessionFilter<
sessionCookieName<
bpsid<
本地为localhost,生产则为对应的域名。
进行cookie过滤,对指定的域名下cookie上传到redis集群,否则,则不知道是哪个cookie需要进行上传。
cookieDomain<
localhost<
--redissessionend-->
/web-app>
说明:
cookieDomain:
发布项目的域名,否则将不会保存session
其他参数,无需变动
2.1.4配置文件说明
#idletime(seconds)
session.max.idle=30
session.cookie.maxAge=-1
session.redis.prefix=OMS-SESSION
session.redis.pool.maxActive=200
session.redis.pool.maxIdle=10
#sentinelconfiguration
session.redis.sentinel.masterName=mymaster
session.redis.sentinel.hosts=192.168.106.198:
26379,192.168.106.197:
26379
参数说明
session.max.idle:
最大保存时间(秒)
session.cookie.maxAge
过期时间
session.redis.prefix
命名规范,S参见3.1命名规范
session.redis.pool.maxActive
最大连接数
session.redis.pool.maxIdle
最大空闲数
session.redis.sentinel.masterName
主节点名称
session.redis.sentinel.hosts
哨兵集群地址
3上线规则
3.1命名
命名规范
平台名
平台缩写
GW
新网关平台
CACC
个账平台
ACCOUNTCENTER
飞马核心
ENTERPRISECORE
预存款核心
ACCOUNTCORE
老个账户核心
PAYCORE
统一支付
ACCOUNT
账务系统
PAYCOREFRONT
统一支付前置
CIF
客户平台
MANAGER
大总管
“平台缩写“+“-”+“分支”
例如:
GW-TRANS
GW是新网关,TRANS是交易分支。
3.2消息大小限制
为保证集群的效率,制造消息最高不得超过1M,超过1M则默认丢失。
3.3消息量的控制
在使用集群时的并发条数不得超过200条。
3.4消息量预估
每一个新加的生产者在使用集群前都必需向中间件人员预估消息量,由维护人员来进行性能评估,从而保证集群在加入新的成员后的稳定性。
3.5扩容
如若交易在可预估的情况下(如活动),有爆发性增长时,需要向中间件组沟通了解当前集群是否可承受爆发性增长的业务。