
Redis使用规范(内部公开)
说明书
编写:魏巍
评审:夏琨
批准:夏琨
日期:2015-03-27
文档信息及修改历史
| 项目名称 | Redis使用文档 | ||||
| 文档编号 | 文档密级 | 机密/秘密/内部/公开 | |||
| 版本号 | 修改日期 | 编写 | 评审 | 批准 | 修改内容 |
| 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.1 Session集群解决方案 5
2.1.1 集群配置(不同场景的机器配置会不一样) 5
2.1.2 引入Git项目 5
2.1.3 web.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.1Session集群解决方案
用户登陆时的session可保存到redis集群中,应用程序重启,session依然存在,无需再次登陆。
2.1.1集群配置
机器最低配置3个监控节点,2个数据节点。5个节点可以和其他机器互通,监控节点对系统资源开销较小。
2.1.2引入Git例子
例子:
Redis Session的使用。
通过简单配置,把session同步到Redis中。
增加一个过滤器,对所有请求进行过滤,session同步到redis中,无侵入性,代码改造量几乎没有。
| ssh://git@116.228.55.1:20022/middleware/redis-session.git |
Web.xml
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> 增加redis session过滤器,本测试用例使用的当下最流行的springMvc为基础框架, 正常流程是当一个请求进来,被上面的springMvc的 '/' 给拦截,然后进行DispatcherServlet处理。 本测试用例增加了一层过滤,在 filter-mapping中的 该“spring”对应的是上面springMvc中的 所以,在引入的时候,请注意对应好“spring”。 cookieDomain:发布项目的域名,否则将不会保存session 其他参数,无需变动 2.1.4配置文件说明 # idle time (seconds) session.max.idle=30 session.cookie.maxAge=-1 session.redis.prefix=OMS-SESSION session.redis.pool.maxActive=200 session.redis.pool.maxIdle=10 #sentinel configuration session.redis.sentinel.masterName=mymaster 3.1命名 命名规范 例如:GW-TRANS GW是新网关,TRANS是交易分支。 3.2消息大小 为保证集群的效率,制造消息最高不得超过1M,超过1M则默认丢失。 3.3消息量的控制 在使用集群时的并发条数不得超过200条。 3.4消息量预估 每一个新加的生产者在使用集群前都必需向中间件人员预估消息量,由维护人员来进行性能评估,从而保证集群在加入新的成员后的稳定性。 3.5扩容 如若交易在可预估的情况下(如活动),有爆发性增长时,需要向中间件组沟通了解当前集群是否可承受爆发性增长的业务。
说明:
参数说明session.redis.sentinel.hosts=192.168.106.198:26379,192.168.106.197:26379
3上线规则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 哨兵集群地址
“平台缩写“+“-”+“分支”平台名 平台缩写 GW 新网关平台 CACC 个账平台 ACCOUNTCENTER 飞马核心 ENTERPRISECORE 预存款核心 ACCOUNTCORE 老个账户核心 PAYCORE 统一支付 ACCOUNT 账务系统 PAYCOREFRONT 统一支付前置 CIF 客户平台 MANAGER 大总管
