redis一般缓存什么样数据_电商ego-实现门户首页数据展示_Redis数据缓存

495f1d517e0456ae39121d164f95f511.png

【89】

1 商城门户 ego-portal-web 系统需求分析

1.1 搭建 Redis 集群环境

⚫ 实现 redis3 主 3 从集群搭建

1.2 实现门户首页商品类目显示

⚫ 加载商品类目 ⚫ 实现商品类目缓存

1.3 实现每户首页大广告轮播

⚫ 加载大广告列表 ⚫ 实现广告轮播 ⚫ 实现大广告数据缓存

1 本节任务

搭建 Redis 3 主 3 从集群环境 JedisCluster 访问 Redis 集群

2Redis 集群环境搭建

2.1Redis 集群架构

e8070566cf9d4df933fc2a4e3888dd1c.png

集群说明: Redis3.0 开始支持集群,在每个 Master 上存放着各不相同的数据,即分布式存储的思想。 集群中的每个节点都需要知道集群中自己之外的其它节点。

Redis 集群主(Master(M1,M2,M3))从(Slave(S1,S2,S3))复制、读写分离 。Master 只负责写和 同步数据给 Slave,Slave 负责被读的任务,通过 Slave 的扩容提高读的速度。

所有的 redis 节点彼此互联(PING-PONG 机制), 节点的 fail 是通过集群中超过半数的节 点检测失效时才生效。

客户端不需要连接集群所有的节点,连接集群中任何一个可用的节点即可,redis-cluster 把 所有的物理节点映射到[0~16383]slot 上,cluster 负责维护 node<->slot<->value。

2.2Redis 集群数据存储原理

整个 Redis 集群将集群存储空间分为 16384 个 Slot(槽),将 16384 个 Slot 分散到集群中的每 个服务器节点。

66a7edae431f273286dfc2d3cabd8d2b.png

在集群存储数据的时候,首先进行 CRC16(key) % 16384=0…..16383 计算 , 然后根据运算结 果将 key 对应的执行保存到对应的 Slot

2.4.3redis-common 集群配置

将原始的 redis.conf 配置文件,拷贝到/opt/redis/conf

拷贝到 redis 集群的公共配置目录。

建议在本地将 redis.conf 文件进行配置,上传到/opt/redis/conf

13c7184b947c11b9d867bba82ba3485b.png

91f61930913709ea11ffccc13f4d86bf.png

d25bac27c0b2e89332cb55160197757b.png

276fea9e2db60f2ab0a860f0ed9f2931.png

103f43b6e012deb49e144be710492ceb.png

9caebe58b72ca7136920def3591a5707.png

ab69a104b285f9738da4ac76bea86f08.png

1 本节任务

基于 SOA 架构,创建 ego-portal-web 门户项目

2 搭建 ego-portal-web 项目环境

2.1 项目架构

Ego-portal-web 服务的消费者,ego-rpc 服务提供者

99bc2bc84d5f04c184edc30259bdd935.png

2.2 建立 ego-portal-web 项目

继承:ego 依赖:ego-common、ego-rpc-service

1 本节任务

加载 ego-portal-web 首页商品类目

2 加载门户首页商品类目

2.1 前端参数分析

srcmainwebappjslib-v1.js

7f29250b6b806b1b33a02eb784e23f28.png

响应到前台数据模型:

1016eba7e71d6f38ae3be7f6612a7c61.png

bf7512899190bd30a31d08929864ad21.png

617a054f7e3b37bfed7a2896d0ff491d.png

6c31e205d69d0c70eb504ec3ceb5c698.png

e42b6c13b18763515061804e029ac813.png

4be6773c24991ac7d179b484246b4a13.png

c8b2746530ccde807a1355b99dad623d.png

174ab7ee7c964380a391c901deba6979.png

fd4c2f9b2102de4f0becbe73212f60ad.png

a6a343a26198f3e7ec1428698bec2816.png

a2fd8c3c6b82b43a9fb04427e681a21d.png

a4cc5b3c350c10af8d36cb84ed22166a.png

6ffb4ae371d9beb8ccef8d7702b32942.png

d0564f947303a2c09b44388db414879a.png

80705105127259288550cc09059b63be.png

52c4932a5bd901893e1e48a22d324baf.png

7b4aaefae2732d2a3a90324c6ff7ade3.png

33c2453e2df68c1f9ab0030d95fb7ca6.png

a15a49fd1fa98478a72a0823fdf34823.png

1 本节任务

实现门户首页打广告位加载

2 实现内容分类节点的分页显示

2.1 前端参数分析

40b74ffe5426041fc8aa6c031b91539f.png

3449ed0f1901e8794f1ed077ddeec873.png

2.2 数据库表说明

查询 tb_content where category_id=?

6b785c354e1cd7cae175b2aac07670e0.png

48acd0e2d599b795fee2dda0d89a81c5.png

090bdd2dd51fb6efc98a820deac735f2.png

56ff8e29dea5e074832dbcc849078266.png

029d40b1bc1dc29e1bd4e5b9945df106.png

2.4.3 创建 PortalContentServiceImpl 实现

fe86d71eccdf234239e715f68225ee42.png

7de6d2be21e2b4ddddfde6c9c5f7fe2f.png

2.4.4 创建 PortalContentController

7bb1508e5f668614bfc768553c171741.png

ebcbcbaaa082573efea99ca35c211baf.png

1 本节任务

实现门户首页商品类目数据缓存

2 实现商品类目数据缓存

2.1 实现数据缓存系统架构

如果redis缓存中没有数据,通过调用ego-rpc服务,查询数据库获得商品类目数据,将ego-rpc 返回的数据进行处理,保存到 redis 缓存,在返回到 ego-portal-web 进行展示

如果 redis 缓存中有数据,直接将缓存中的数据,返回给 ego-portal-web,不用调用 ego-rpc 服 务查询数据库。

cdeb38bf3b185d6066e07fadfe728fa0.png

3352fd040f8f9bc088528511ecb6ff35.png

a4a3164b675ff843791d99d8bb7cac50.png

d16b16e1531c28d83f716b4dc88dfd51.png

cdad45db01265f4be58d34d036a0bcbe.png

2.2.4 修改 ProtalItemCatSrviceImpl 实现

db3779322f61ec1d1efcc645bb5527fd.png

a391a72187c6ac15e826d9d9b4be9ee7.png

349c22df70855a00e1a2a07ed99b47bf.png

fb5a2f117280b5ba34b93dd32fbec3b5.png

a156a5940be629d55967c194690a7266.png

2.3 发布项目进行缓存测试

1 本节任务

实现门户首页大广告数据缓存

2 实现大广告数据缓存

2.1 实现数据缓存系统架构

如果redis缓存中没有数据,通过调用ego-rpc服务,查询数据库获得商品类目数据,将ego-rpc 返回的数据进行处理,保存到 redis 缓存,在返回到 ego-portal-web 进行展示

如果 redis 缓存中有数据,直接将缓存中的数据,返回给 ego-portal-web,不用调用 ego-rpc 服 务查询数据库。

d6d1b84e3a593711905f7b2e28ec7811.png

77199553646911a26f7c0f6a175ee137.png

2.2.2 修改 ProtalContentSrviceImpl 实现类

04141a9b538344a31b525374188147bb.png

50b6f101c1b4f619a4ce3c2c9a56fe67.png

3e53f6fbe537fee355fbeda008b47a3c.png

a45cfc67ea3e3e50dc425864350830cf.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值