logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

spring-- 事务失效原因及多线程事务失效解决方案

在创建一个异步线程之后,可以手动的往嵌套方法的Tread Local中将外层事务connection对象存入,那么嵌套方法就可以从自己的Thread Local中拿到外层事务的connection了,这样方法和嵌套方法用的就是同一个事务了。然后去执行方法,从而执行数据库操作,然后再执行嵌套方法,然后再嵌套方法的代理对象,就可以拿到外层事务的Thread Local中connection对象,从而执

#spring#java#数据库
redis--黑马点评--附近商户搜索功能详解

在微信中有附近的人的功能,在外卖软件中就会有附近商户的功能,打车软件中会有附近的车的功能等等,这些功能的底层都是基于地理坐标进行搜索,支持地理坐标的技术很多,redis就是其中之一,在这里主要学习基于Redis实现地理坐标的搜索功能。实现思路:前端发送请求,请求中的typeID到数据库中过滤,找到对应的店铺,做分页返回前端,而将商户id与经纬度使用GEO数据结构存入redis中,将来在收到请求时就

#redis#bootstrap#数据库
redis--黑马点评--全局ID生成器详解

订单的特点就是数据量比较大,因为用户只要产生购买的行为,就会不停的产生新的订单,如果项目有一定的规模,用户量达到数百万,每天的订单可能就高达数百万,日积月累,单张表显然不能保存如此多的数据,如果无法保存,就需要分到多张表中,如果每张表都采用自增长,每张表都自增,那么订单的id就一定会重复,而订单就不应该重复,因为从业务的角度来考虑,将来一些售后服务还需要订单id,如果id重复,将来一定会出问题。生

#redis#数据库#缓存
Redis--缓存工具封装

经过前面的学习,发现缓存中的问题,无论是缓存穿透,缓存雪崩,还是缓存击穿,这些问题的解决方案业务代码逻辑都很复杂,我们也不应该每次都来重写这些逻辑,我们可以将其封装成工具。而在封装的时候,也会有不少的问题需要去解决。案例学习:缓存工具封装基于StringRedisTemplate封装一个缓存工具类,满足下列需求:方法一:将任意Java对象序列化成JSON并存储在String类型的key中,并且可以

#缓存#redis#java
到底了