第04项目:淘淘商城(SpringMVC+Spring+Mybatis)【第七天】(redis缓存)

时间:2023-03-09 14:24:29
第04项目:淘淘商城(SpringMVC+Spring+Mybatis)【第七天】(redis缓存)

https://pan.baidu.com/s/1bptYGAb#list/path=%2F&parentPath=%2Fsharelink389619878-229862621083040

第04项目:淘淘商城(SpringMVC+Spring+Mybatis) 的学习实践总结【第五天】

第04项目:淘淘商城(SpringMVC+Spring+Mybatis) 的学习实践总结【第六天】

第04项目:淘淘商城(SpringMVC+Spring+Mybatis)【第七天】(redis缓存)

第04项目:淘淘商城(SpringMVC+Spring+Mybatis)【第八天】(solr服务器搭建、搜索功能实现)

第04项目:淘淘商城(SpringMVC+Spring+Mybatis)【第七天】(redis缓存)


课程计划:

1、内容管理功能添加缓存。

a)       使用redis做缓存工具

b)       实现系统高可用,redis需要做主备。使用redis做分片集群。Redis集群的搭建。

c)       向业务逻辑中添加缓存。

2.1    访问taotao-portal服务406问题

1、查看是否Jackson包是否存在。

2、如果后缀是html是不能响应json数据的。需要修改后缀名。

2.2    Post乱码问题

第04项目:淘淘商城(SpringMVC+Spring+Mybatis)【第七天】(redis缓存)

第04项目:淘淘商城(SpringMVC+Spring+Mybatis)【第七天】(redis缓存)

第04项目:淘淘商城(SpringMVC+Spring+Mybatis)【第七天】(redis缓存)

produces=MediaType.TEXT_PLAIN_VALUE+";charset=utf-8"

使用redis做缓存安装的步骤详情见点击跳转

Redis 简介

Redis 是完全开源免费的,是一个高性能的key-value数据库。

Redis 与其他 key - value 缓存产品有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

2.7.3   Jedis客户端

使用前先引入依赖坐标

版本可以选用3.1.0

            <!-- Redis客户端 -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>${jedis.version}</version>
</dependency>

RedisDesktopManager的使用注意事项:

第一步:在redis的配置文件(redis.conf)里面是否设置了requirepass  表示连接的密码,如果没有设置,则连接不上。或者关闭保护模式。

第二步:在redis的配置文件里面,在第69行左右是要已经把bind 127.0.0.1 给注释掉。如果没有,连接不上,。

package com.taotao.rest.jedis;

import java.util.HashSet;

import org.junit.Test;

import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.JedisPool; public class JedisTest {
@Test
public void testJedisSingle() {
//创建一个jedis的对象
Jedis jedis = new Jedis("192.168.179.128",6379);
jedis.auth("12345678");
//调用jedis对象的方法,方法名称和redis的命令一致
jedis.set("key1", "testJedisSingle");
String string = jedis.get("key1");
System.out.println(string);
//关闭jedis
jedis.close();
} /**
* 使用连接池
*/
@Test
public void testJedisPool() {
//创建jedis连接池
JedisPool pool = new JedisPool("192.168.179.128", 6379);
//从连接池中获得Jedis对象
Jedis jedis = pool.getResource();
jedis.auth("12345678");
String string = jedis.get("key1");
System.out.println(string);
//关闭jedis对象
jedis.close();
pool.close();
} //测试集群redis
@Test
public void testJedisCluster() throws Exception {
HashSet<HostAndPort> nodes = new HashSet<>();
nodes.add(new HostAndPort("192.168.179.128", 7001));
nodes.add(new HostAndPort("192.168.179.128", 7002));
nodes.add(new HostAndPort("192.168.179.128", 7003));
nodes.add(new HostAndPort("192.168.179.128", 7004));
nodes.add(new HostAndPort("192.168.179.128", 7005));
nodes.add(new HostAndPort("192.168.179.128", 7006)); JedisCluster cluster = new JedisCluster(nodes);
cluster.set("key2", "kang"); String string = cluster.get("key2");
System.out.println(string); cluster.close();
} }

JedisTest

利用spring的IOC自动注入jedis的bean(参考资料:redis设置密码以及jedisPool设置密码

redis.properties

#redis单机版JedisPool配置信息
redis.hostName=192.168.179.128
redis.port=6379
redis.timeout=60
redis.password=12345678

application-jedis.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd"> <!-- 加载属性文件 -->
<context:property-placeholder location="classpath:redis.properties" ignore-unresolvable="true" />
<!-- 连接池配置 -->
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
<!-- 最大连接数 -->
<property name="maxTotal" value="30" />
<!-- 最大空闲连接数 -->
<property name="maxIdle" value="10" />
<!-- 每次释放连接的最大数目 -->
<property name="numTestsPerEvictionRun" value="1024" />
<!-- 释放连接的扫描间隔(毫秒) -->
<property name="timeBetweenEvictionRunsMillis" value="30000" />
<!-- 连接最小空闲时间 -->
<property name="minEvictableIdleTimeMillis" value="1800000" />
<!-- 连接空闲多久后释放, 当空闲时间>该值 且 空闲连接>最大空闲连接数 时直接释放 -->
<property name="softMinEvictableIdleTimeMillis" value="10000" />
<!-- 获取连接时的最大等待毫秒数,小于零:阻塞不确定的时间,默认-1 -->
<property name="maxWaitMillis" value="1500" />
<!-- 在获取连接的时候检查有效性, 默认false -->
<property name="testOnBorrow" value="true" />
<!-- 在空闲时检查有效性, 默认false -->
<property name="testWhileIdle" value="true" />
<!-- 连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true -->
<property name="blockWhenExhausted" value="false" />
</bean> <!-- jedis客户端单机版配置 -->
<bean id="jedisPool" class="redis.clients.jedis.JedisPool">
<constructor-arg name="poolConfig"
ref="jedisPoolConfig"></constructor-arg>
<constructor-arg name="host" value="${redis.hostName}"></constructor-arg>
<constructor-arg name="port" value="${redis.port}"></constructor-arg>
<constructor-arg name="timeout" value="${redis.timeout}" type="int"/>
<constructor-arg name="password" value="${redis.password}"></constructor-arg>
</bean> <bean id="jedisClientSingle"
class="com.taotao.rest.dao.impl.JedisClientSingle"/> <!-- jedis集群版配置 -->
<!-- <bean id="redisClient" class="redis.clients.jedis.JedisCluster">
<constructor-arg name="nodes">
<set>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host"
value="192.168.179.128"></constructor-arg>
<constructor-arg name="port" value="7001"></constructor-arg>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host"
value="192.168.179.128"></constructor-arg>
<constructor-arg name="port" value="7002"></constructor-arg>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host"
value="192.168.179.128"></constructor-arg>
<constructor-arg name="port" value="7003"></constructor-arg>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host"
value="192.168.179.128"></constructor-arg>
<constructor-arg name="port" value="7004"></constructor-arg>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host"
value="192.168.179.128"></constructor-arg>
<constructor-arg name="port" value="7005"></constructor-arg>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host"
value="192.168.179.128"></constructor-arg>
<constructor-arg name="port" value="7006"></constructor-arg>
</bean>
</set>
</constructor-arg> <constructor-arg name="poolConfig"
ref="jedisPoolConfig"></constructor-arg>
</bean> <bean id="jedisClientCluster"
class="com.taotao.rest.dao.impl.JedisClientCluster" /> --> </beans>

测试类的test方法

    @Test
public void testSpringJedisCluster() throws IOException {
//1.获取spring的IOC容器对象
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(
"classpath:spring/applicationContext-*.xml");
//2.从IOC容器对象中取出bean的id为jedisCluster的那个
JedisCluster jedisCluster = (JedisCluster) applicationContext.getBean("redisClient"); jedisCluster.set("name", "kang");
String value = jedisCluster.get("name");
System.out.println(value); //console打印出kang就测试通过 /* 最后要关闭jedis客户端 */
jedisCluster.close();
}

第04项目:淘淘商城(SpringMVC+Spring+Mybatis)【第七天】(redis缓存)

/taotao-rest/src/main/java/com/taotao/rest/dao/JedisClient.java

package com.taotao.rest.dao;

public interface JedisClient {

    String get(String key);
String set(String key,String value);
String hget(String hkey,String key);
long hset(String hkey,String key, String value);
long incr(String key);
long expire(String key,int second);
long ttl(String key);
//删除方法供后台更新内容管理调用
long del(String key);
long hdel(String hkey,String key );
}
package com.taotao.rest.dao.impl;

import org.springframework.beans.factory.annotation.Autowired;

import com.taotao.rest.dao.JedisClient;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool; public class JedisClientSingle implements JedisClient { @Autowired
private JedisPool jedisPool; @Override
public String get(String key) {
Jedis jedis = jedisPool.getResource();
String string = jedis.get(key);
jedis.close();
return string;
} @Override
public String set(String key, String value) {
Jedis jedis = jedisPool.getResource();
String string = jedis.set(key, value);
jedis.close();
return string;
} @Override
public String hget(String hkey, String key) {
Jedis jedis = jedisPool.getResource();
String string = jedis.hget(hkey, key);
jedis.close();
return string;
} @Override
public long hset(String hkey, String key, String value) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.hset(hkey, key, value);
jedis.close();
return result;
} @Override
public long incr(String key) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.incr(key);
jedis.close();
return result;
} @Override
public long expire(String key, int second) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.expire(key, second);
jedis.close();
return result;
} @Override
public long ttl(String key) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.ttl(key);
jedis.close();
return result;
} @Override
public long del(String key) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.del(key);
jedis.close();
return result;
}

/taotao-rest/src/main/java/com/taotao/rest/dao/impl/JedisClientSingle.java

package com.taotao.rest.dao.impl;

import org.springframework.beans.factory.annotation.Autowired;

import com.taotao.rest.dao.JedisClient;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool; public class JedisClientSingle implements JedisClient { @Autowired
private JedisPool jedisPool; @Override
public String get(String key) {
Jedis jedis = jedisPool.getResource();
String string = jedis.get(key);
jedis.close();
return string;
} @Override
public String set(String key, String value) {
Jedis jedis = jedisPool.getResource();
String string = jedis.set(key, value);
jedis.close();
return string;
} @Override
public String hget(String hkey, String key) {
Jedis jedis = jedisPool.getResource();
String string = jedis.hget(hkey, key);
jedis.close();
return string;
} @Override
public long hset(String hkey, String key, String value) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.hset(hkey, key, value);
jedis.close();
return result;
} @Override
public long incr(String key) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.incr(key);
jedis.close();
return result;
} @Override
public long expire(String key, int second) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.expire(key, second);
jedis.close();
return result;
} @Override
public long ttl(String key) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.ttl(key);
jedis.close();
return result;
} @Override
public long del(String key) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.del(key);
jedis.close();
return result;
} @Override
public long hdel(String hkey,String key) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.hdel(hkey,key);
jedis.close();
return result;
} }

/taotao-rest/src/main/java/com/taotao/rest/dao/impl/JedisClientCluster.java

package com.taotao.rest.dao.impl;

import org.springframework.beans.factory.annotation.Autowired;

import com.taotao.rest.dao.JedisClient;

import redis.clients.jedis.JedisCluster;

public class JedisClientCluster implements JedisClient {

    @Autowired
private JedisCluster jedisCluster; @Override
public String get(String key) {
return jedisCluster.get(key);
} @Override
public String set(String key, String value) {
return jedisCluster.set(key, value);
} @Override
public String hget(String hkey, String key) {
return jedisCluster.hget(hkey, key);
} @Override
public long hset(String hkey, String key, String value) {
return jedisCluster.hset(hkey, key, value);
} @Override
public long incr(String key) {
return jedisCluster.incr(key);
} @Override
public long expire(String key, int second) {
return jedisCluster.expire(key, second);
} @Override
public long ttl(String key) {
return jedisCluster.ttl(key);
} @Override
public long del(String key) {
return jedisCluster.del(key);
} @Override
public long hdel(String hkey,String key) {
return jedisCluster.hdel(hkey,key);
} }
package com.taotao.rest.dao.impl;

import org.springframework.beans.factory.annotation.Autowired;

import com.taotao.rest.dao.JedisClient;

import redis.clients.jedis.JedisCluster;

public class JedisClientCluster implements JedisClient {

    @Autowired
private JedisCluster jedisCluster; @Override
public String get(String key) {
return jedisCluster.get(key);
} @Override
public String set(String key, String value) {
return jedisCluster.set(key, value);
} @Override
public String hget(String hkey, String key) {
return jedisCluster.hget(hkey, key);
} @Override
public long hset(String hkey, String key, String value) {
return jedisCluster.hset(hkey, key, value);
} @Override
public long incr(String key) {
return jedisCluster.incr(key);
} @Override
public long expire(String key, int second) {
return jedisCluster.expire(key, second);
} @Override
public long ttl(String key) {
return jedisCluster.ttl(key);
} @Override
public long del(String key) {
return jedisCluster.del(key)

5.3    把缓存添加到业务逻辑

注意:缓存的添加不能影响正常的业务逻辑。

/**
* 内容管理
* @author kangy
*
*/
@Service
public class ContentServiceImpl implements ContentService {
@Autowired
private TbContentMapper contentMapper;
//在XML配置文件中注入了bean
@Autowired
private JedisClient JedisClient;
//从.properties文件读取常量
@Value("${INDEX_CONTENT_REDIS_KEY}")
private String INDEX_CONTENT_REDIS_KEY; @Override
public List<TbContent> getContentList(long contentCid) { //b从缓存中取内容
try {
String result = JedisClient.hget(INDEX_CONTENT_REDIS_KEY, contentCid + "");
if (!StringUtils.isBlank(result)) {
//把字符串转换成list
List<TbContent> resultList = JsonUtils.jsonToList(result, TbContent.class);
return resultList;
}
} catch (Exception e) {
e.printStackTrace();
} //a根据内容分类id查询内容列表
TbContentExample example = new TbContentExample();
TbContentExample.Criteria criteria = example.createCriteria();
criteria.andCategoryIdEqualTo(contentCid);
//a执行查询
List<TbContent> list = contentMapper.selectByExampleWithBLOBs(example); //b向缓存中添加内容
try {
//把list转换成字符串
String cacheString = JsonUtils.objectToJson(list);
JedisClient.hset(INDEX_CONTENT_REDIS_KEY, contentCid + "", cacheString);
} catch (Exception e) {
e.printStackTrace();
} //a返回结果
return list;
} }
 打开win10下的图形化连接redis的工具软件查看是否成功地添加了商品信息内容的缓存到默认的database0

第04项目:淘淘商城(SpringMVC+Spring+Mybatis)【第七天】(redis缓存)

课后作业:商品类目展示添加缓存


6 缓存同步

当后台管理系统,修改内容之后需要通知redis把修改的内容对应的分类id的key删除。

6.1    添加缓存后的系统架构

第04项目:淘淘商城(SpringMVC+Spring+Mybatis)【第七天】(redis缓存)

6.2    解决方案

在taotao-rest工程中发布一个服务。当后台管理系统修改内容后,调用此服务,同步缓存。

6.3    Dao层

使用JedisClient接口对应的实现类。

6.4    Service层

接收内容分类id,调用dao删除redis中对应的hash中key为分类id的项。

参数:内容分类id

返回值:TaotaoResult

com.taotao.rest.service.impl.RedisServiceImpl

package com.taotao.rest.service.impl;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import com.taotao.common.pojo.TaotaoResult;
import com.taotao.common.utils.ExceptionUtil;
import com.taotao.rest.dao.JedisClient;
import com.taotao.rest.service.RedisService; @Service
public class RedisServiceImpl implements RedisService { @Autowired
private JedisClient jedisClient;
//从.properties文件读取常量
@Value("${INDEX_CONTENT_REDIS_KEY}")
private String INDEX_CONTENT_REDIS_KEY; @Override
public TaotaoResult syncContent(long contentCid) {
try {
jedisClient.hdel(INDEX_CONTENT_REDIS_KEY, contentCid + "");
} catch (Exception e) {
e.printStackTrace();
return TaotaoResult.build(500, ExceptionUtil.getStackTrace(e));
} return TaotaoResult.ok();
} }

6.5  Controller层

接收内容分类id,调用Service返回taotaoResult。

com.taotao.rest.controller.RedisController

@RestController
@RequestMapping("/cache/sync")
public class RedisController {
@Autowired
private RedisService redisService; @RequestMapping("/content/{contentCid}")
public TaotaoResult contentCacheSync(@PathVariable Long contentCid) {
TaotaoResult result = redisService.syncContent(contentCid);
return result;
} }

http://localhost:8081/rest/cache/sync/content/89

6.6 同步缓存服务的调用

需要在后台管理系统中添加一个服务调用的逻辑。当修改内容信息后,需要调用此服务同步缓存。

aaarticlea/png;base64,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" alt="" />

com.taotao.service.impl.ContentServiceImpl

//内容管理
@Service
public class ContentServiceImpl implements ContentService { @Value("${REST_BASE_URL}")
private String REST_BASE_URL;
@Value("REST_CONTENT_SYNC_URL")
private String REST_CONTENT_SYNC_URL; @Autowired
private TbContentMapper contentMapper; @Override
public TaotaoResult insertContent(TbContent content) {
// 补全pojo内容
content.setCreated(new Date());
content.setUpdated(new Date());
contentMapper.insert(content); // 添加缓存同步逻辑
try {
HttpClientUtil.doGet(REST_BASE_URL + REST_CONTENT_SYNC_URL + content.getCategoryId());
} catch (Exception e) {
// 通知管理员处理异常
e.printStackTrace();
} return TaotaoResult.ok();
}
=======================================

参考资料:

redis 安装及集群部署

redis学习笔记(二)JedisCluster + redis 3.2.5集群

redis-4.0.14.gem集群创建用到的脚本 下载地址

Redis免费客户端 Another Redis DeskTop Manager 下载地址

RedisDesktopManager连接不上redis的解决方法

redis.clients. NOAUTH Authentication required 解决办法

end