Skip to content

Commit

Permalink
修复redis与数据库一致性
Browse files Browse the repository at this point in the history
  • Loading branch information
memo012 committed Aug 26, 2019
1 parent 3fe5825 commit 62920c9
Show file tree
Hide file tree
Showing 15 changed files with 132 additions and 29 deletions.
20 changes: 20 additions & 0 deletions pom.xml
Expand Up @@ -114,6 +114,26 @@
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<exclusions>
<exclusion>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</exclusion>
<exclusion>
<groupId>io.lettuce</groupId>
<artifactId>lettuce-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
<version>RELEASE</version>
</dependency>

<!--lombok简化Java配置-->
Expand Down
Expand Up @@ -10,7 +10,7 @@
public class SMSUtil {

// 短信应用SDK AppID
public static final Integer APPID = 140024047771; // 你的AppID
public static final Integer APPID = 1400247771; // 你的AppID

// 短信应用SDK AppKEY
public static final String APPKEY = ""; //你的
Expand Down
19 changes: 15 additions & 4 deletions src/main/java/com/qiang/modules/sys/controller/BackController.java
Expand Up @@ -3,6 +3,7 @@
import com.qiang.common.utils.Constant;
import com.qiang.common.utils.RedisOperator;
import com.qiang.common.utils.TransCodingUtil;
import com.qiang.modules.sys.entity.VO.UsersVOEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
Expand Down Expand Up @@ -31,14 +32,23 @@ public class BackController {
* @return
*/
@GetMapping("/")
public String index(HttpServletResponse response, HttpServletRequest request) {
public String index() {
if (redisOperator.hasKey(Constant.BLOG_VISIT_COUNT)) {
redisOperator.incr(Constant.BLOG_VISIT_COUNT, 1);
}
return "index";
}

/**
* 保存上一次浏览地址
* @return
*/
@GetMapping("lasturl")
public String lasturl(HttpServletResponse response, HttpServletRequest request){
response.setHeader("Access-Control-Allow-Origin", "*");
String url = (String) request.getSession().getAttribute("lastUrl");
response.setHeader("lastUrl", url);
return "index";
return "lasturl";
}

/**
Expand Down Expand Up @@ -84,7 +94,7 @@ public String SuperAdmin() {
@GetMapping("login")
public String login(HttpServletRequest request) {
String url = request.getHeader("Referer");
if(!url.contains("register") && !url.contains("findPwd")){
if (!url.contains("register") || !url.contains("findPwd") || !url.contains("login")) {
//保存跳转页面的url
request.getSession().setAttribute("lastUrl", request.getHeader("Referer"));
}
Expand All @@ -95,7 +105,8 @@ public String login(HttpServletRequest request) {
* 登录前尝试保存上一个页面的url
*/
@GetMapping("/toLogin")
public @ResponseBody void toLogin(HttpServletRequest request) {
public @ResponseBody
void toLogin(HttpServletRequest request) {
// //保存跳转页面的url
// request.getSession().setAttribute("lastUrl", request.getHeader("Referer"));
}
Expand Down
Expand Up @@ -81,7 +81,7 @@ public void insPageBlog() {
b.setTagValue(StringAndArray.stringToArray(b.getLabelValues()));
b.setArticleUrl("/article/" + b.getId());
// 存入缓存中(首页分页查询)
redisOperator.rpush(Constant.PAGE_BLOG, b);
redisOperator.lpush(Constant.PAGE_BLOG, b);
}
}

Expand Down
@@ -0,0 +1,46 @@
package com.qiang.modules.sys.service.impl;

import com.qiang.common.utils.Constant;
import com.qiang.common.utils.RedisOperator;
import com.qiang.modules.sys.dao.IndexDao;
import com.qiang.modules.sys.service.ScheduledService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

/**
* @Author: qiang
* @ProjectName: adminsystem
* @Package: com.qiang.modules.sys.service.impl
* @Description:
* @Date: 2019/8/9 0009 16:35
**/
@Service
public class ScheduledServiceImpl implements ScheduledService {

@Autowired
private IndexDao indexDao;

@Autowired
private RedisOperator redisOperator;

/**
* second(秒),minute(分),hour(时),day of month(日),month(月),day of week(周几)
* 0 * * * * MON-FRI
*/
@Scheduled(cron = "0 0/10 * * * ?")
@Transactional(propagation = Propagation.REQUIRED)
@Override
public void visitorCustom() {
indexDao.updWebVisitorCount((int)redisOperator.get(Constant.BLOG_VISIT_COUNT));
}

@Scheduled(cron = "0 5 * * * ?")
@Transactional(propagation = Propagation.REQUIRED)
@Override
public void lookBlog() {

}
}
4 changes: 2 additions & 2 deletions src/main/resources/static/style/friendlink.css
Expand Up @@ -13,8 +13,8 @@
}

.qz-friend li a{
color: #64308f;

color: #4e4e4e;
font-size: 15px;

}
.qz-friend li a:hover{
Expand Down
2 changes: 1 addition & 1 deletion src/main/resources/static/style/js/header.js
Expand Up @@ -340,7 +340,7 @@ setInterval(function () {


//网站最后更新时间(版本更新需更改)
var siteLastUpdateTime = '2019年08月9日18点';
var siteLastUpdateTime = '2019年08月20日16点';
$(".siteUpdateTime").html(''+siteLastUpdateTime);


Expand Down
28 changes: 18 additions & 10 deletions src/main/resources/static/style/js/lastUrl.js
@@ -1,13 +1,21 @@

$.ajax({
type: 'HEAD', // 获取头信息,type=HEAD即可
url : window.location.href,
async:false,
success:function (data, status, xhr) {
var lastUrl = xhr.getResponseHeader("lastUrl");
if(lastUrl != null){
window.location.replace(lastUrl);
}
$.ajax({
type: 'HEAD', // 获取头信息,type=HEAD即可
url : window.location.href,
async:false,
success:function (data, status, xhr) {
var lastUrl = xhr.getResponseHeader("lastUrl");
if(lastUrl != null){
location.href = lastUrl;
}
});
}
});

// var forward = document.referrer;
// console.log(forward);
// if (forward == "" || forward == undefined || forward == null) {
// location.href = "/";
// }
// else {
// location.href = "" + forward + "";
// }
2 changes: 1 addition & 1 deletion src/main/resources/static/style/js/login.js
Expand Up @@ -25,7 +25,7 @@ function log(){
success: function (data) {
//放入数据
if(data.status == 200){
window.location.href="/";
window.location.href="/lasturl";
}else if(data.status == 500){
$(".notice-box-res").show();
setTimeout(function () {
Expand Down
2 changes: 1 addition & 1 deletion src/main/resources/templates/aboutme.html
Expand Up @@ -111,7 +111,7 @@
<p><br></p>
<p></p><center><br><strong>壹 | 关于我</strong><br>目前就读于中北大学<br>处在个人才济济的宿舍<br>他们站的高度是我的动力<br>被动鞭策我成长<br>我 个没有天赋却孜孜不倦的人<br>喜欢些不知道为什么喜欢的人<br></center><br><br><p></p>
<p></p><center><br><strong>贰 | 关于博客</strong><br>真正属于我自己的开源项目<br>也是我的个记录之地<br>也是自己的个蜕变<br>也是自己的个成长<br>不管付出多大努力<br>回头望去<br>当时种下的种子<br>如今已茁壮成长<br>不断生根发芽<br></center><br><br><p></p>
<p></p><center><br><strong>叁 | 关于此网站代码</strong><br><a href="https://github.com/memo012/people-blog" target="_blank">https://github.com/memo012/people-blog</a><br>该网站建设代码已开源到GitHub<br>可自行下载<br></center><br><br><p></p>
<p></p><center><br><strong>叁 | 关于此网站代码</strong><br><a href="https://github.com/memo012/ac-blog" target="_blank">https://github.com/memo012/ac-blog</a><br>该网站建设代码已开源到GitHub<br>可自行下载<br></center><br><br><p></p>
<p></p><center><br><strong>肆 | 最后想说的话</strong><br>希望自己可以勇往直前<br>乘风破浪<br></center><br><br><p></p>
</div>
</div>
Expand Down
1 change: 0 additions & 1 deletion src/main/resources/templates/index.html
Expand Up @@ -70,7 +70,6 @@

<script src="assets/js/jquery-1.12.4.min.js" th:src="@{/assets/js/jquery-1.12.4.min.js}"></script>
<script src="assets/js/amazeui.js" th:src="@{/assets/js/amazeui.js}"></script>
<script src="style/js/lastUrl.js"></script>
<script src="style/js/index.js" th:src="@{/style/js/index.js}"></script>
<script src="style/js/tags.js" th:src="@{/style/js/tags.js}"></script>
<script src="style/js/header.js" th:src="@{/style/js/header.js}"></script>
Expand Down
12 changes: 12 additions & 0 deletions src/main/resources/templates/lasturl.html
@@ -0,0 +1,12 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>

</body>
<script src="assets/js/jquery-1.12.4.min.js"></script>
<script src="style/js/lastUrl.js"></script>
</html>
4 changes: 2 additions & 2 deletions src/main/resources/templates/lunbo.html
Expand Up @@ -6,8 +6,8 @@
<i class="am-icon-volume-up messVO" style="margin-left: 5px;color: #fbd602;"></i>
<div class="roll">
<ul>
<li>强子博客上线了,欢迎大家指正~~~</li>
<li>该网站已开放有关博客的基本功能~~~</li>
<li>新增友链功能~~~</li>
<li>网站技术更新,详情见GitHub~~~</li>
<li>只有忍受别人不能忍受的忍受~~~</li>
<li>才能享受别人不能享受的享受~~~</li>
</ul>
Expand Down
14 changes: 12 additions & 2 deletions src/main/resources/templates/update.html
Expand Up @@ -90,12 +90,22 @@ <h3 class="layui-timeline-title">2019年8月3日</h3>
</li>
</ul>

<ul class="layui-timeline">
<li class="layui-timeline-item qz-ul-li">
<i class="layui-icon layui-timeline-axis">&#xe63f;</i>
<div class="layui-timeline-content layui-text">
<h3 class="layui-timeline-title">201987日</h3>
<p class="am-serif">网站正式上线<i class="layui-icon"></i></p>
</div>
</li>
</ul>

<ul class="layui-timeline">
<li class="layui-timeline-item qz-ul-li">
<i class="layui-icon layui-timeline-axis">&#xe63f;</i>
<div class="layui-timeline-content layui-text">
<h3 class="layui-timeline-title">201987</h3>
<p class="am-serif">网站正式上线<i class="layui-icon"></i></p>
<h3 class="layui-timeline-title">2019820</h3>
<p class="am-serif">网站后台技术更新<i class="layui-icon"></i></p>
</div>
</li>
</ul>
Expand Down
3 changes: 0 additions & 3 deletions src/test/java/com/qiang/AcblogApplicationTests.java
Expand Up @@ -13,10 +13,7 @@
@RunWith(SpringRunner.class)
@SpringBootTest
public class AcblogApplicationTests {


@Autowired
private CommentDao commentDao;


@Test
Expand Down

0 comments on commit 62920c9

Please sign in to comment.