电商项目总结(2)

1.分页(pageHelper)总结:

pageHelper.startPage("当前页","当前夜的大小");

List<TbUser>list=xxxService.queryAll();

PageInfo<TbUser> info=new PageInfo<>(list);

model.Attribute("info",info);

2.在这个项目中,redis  1)缓存查询出来的的数据

                                      2.)单点登录的时候需要将用户信息保存到redis中,前台页面通过保存在cookie的token值来获取到用户信息,从而更新页面。

                                       3)用户加入购物车的时候也用到了redis

redis的五种数据类型:string,hash,list,set,SortedSet

String(key,value) :decr:减少,incr:增加,keys *:显示有多少个key。

hash(key,field,value):hset hash1 field 1;hget hash1 field;

hkeys hash1:查询有全部的key值;hvals hash1:查询全部的value值;

hgetall hash1:获取key,value的值

lpush:lpush  list1 1 2 3 4 5 6 ;lrange list1 0,-1;

redis的数据持久化:1)通过快照的形式是将数据保存在磁盘中,以二进制的形式存储

                                 2)通过aof文件但也会影响性能。

在该项目中:

使用jedisClient客户端工具:在使用jedisClient工具之前,需要与spring容器的配置

<bean id="jedisClientPool" class="cn.e3mall.common.jedis.JedisClientPool">
            <property name="jedisPool" ref="jedisPool"></property>
    </bean>
    <bean id="jedisPool" class="redis.clients.jedis.JedisPool">
          <constructor-arg name="host" value="127.0.0.1"></constructor-arg>
          <constructor-arg name="port" value="6379"></constructor-arg>
    </bean>
1) 第一次查询商品的时候需要把商品添加到redis缓存中:

jedisClient.set(token,JsonUtils.ObjectToJson(list.get(0));

设置过期时间

jedisClient.expire(token,3600);

第二次查询只需要将缓存中的数据取出来

jedisClient.get(token);

3.activemq消息中间件的使用

发送者:通过从容器中获取一个jmsTemplate对象,可以发送消息,发送的消息可以是点对点queue和一对多topic,当使用点对点队列的时候,当提供者发送消息后,一旦消费者接受,消息就会没有。通过调用jemtemplate的send方法,通过session.createTextMessage(itemId+"")携带信息来进行发送消息。消费者进行接受消息通过在spring容器中配置MessageListerer的事件监听,通过TextMessage获取到message信息。在该工程使用一对多的topic,就是一个提供者多个消费者。比如:商品添加这个消息的提供者,消费者可能是商品添加同步到缓存。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值