只有这样子,没显示布局,该怎么办
到这这个项目结束了,我还存在一个疑问。
就是秒杀这块,我们做了双重保险,第一个就是把秒杀请求放道mq队列里排队,第二个就是利用redis事务特性,在没发送消息前查一次redis,发送消息后,处理消息时再查一次redis,然后后面的改数据操作让他具有原子性,这样能解决高并发问题吗?????不需要用到分布式锁吗??????
老师 怎么批量更新,就是一个集合里我想更新某个字段,或者说一个集合里,我给每个文档添加一个新的字段???????????????????????
老师关于这个秒杀问题,我们的方案是用rabbitmq进行流量消峰,利用它的队列来排队消费,然后逐一改变库存和redis里的数据对吧??????
我想问的是用了这个队列确认机制还需要用分布式锁吗????比如说用分布式锁和这个队列功能是一样的还是??有点没懂????
做一个用户几分钟之内应该是前端设置把,不然又要查redis
老师 直接获取电话号码后直接把号码转为字符串作为key存储不做map和实体这样可以吗?????
老师 我记得之前配置springcache+redis好像没有这么麻烦吧,这个配置和以前配置有什么区别吗???
配置文件里lb是指地轮询的意思吗????如果配置其他负载均衡策略该怎么配??
我们这个数据访问层 是要所有的service都放在一起吗???这样的话不是和我们之前开发地单体项目差不多吗???
打包完成以后,运行的时候会报错,查了一下说是<com.spotify>的版本的问题,但是只有1.0.0和1.2.0还有1.2.2都试过了,全都是在报错
lombok是干嘛的????好像没学过??????????????????????
为啥我上传图片会报下面这个错误,说没有此文件和目录,该怎么解决呢?
请问老师,这个项目是用到了哪些技术?我学到了智能家居管理阶段,跳过了11-18阶段,学了springcloud,现有的知识可以学习这个项目吗?如果可以,能学到第几天?麻烦老师解答一下
老师,这个redisTempalte和cachemanager的 value的格式化序列器都是设置的
GenericJackson2JsonRedisSerializer
但是不知道为什么会出现
import org.springframework.cache.CacheManager; import org.springframework.data.redis.cache.RedisCacheConfiguration; import org.springframework.data.redis.cache.RedisCacheManager; import org.springframework.data.redis.cache.RedisCacheWriter; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer; import org.springframework.data.redis.serializer.RedisSerializationContext; import org.springframework.data.redis.serializer.StringRedisSerializer; import java.time.Duration; /** * 定义一个父类型 */ public class RedisCacheConfigurationx { protected RedisTemplate<String,Object> redisTemplate(RedisConnectionFactory redisConnectionFactory){ RedisTemplate<String, Object> stringObjectRedisTemplate = new RedisTemplate<>(); stringObjectRedisTemplate.setConnectionFactory(redisConnectionFactory); stringObjectRedisTemplate.setKeySerializer(new StringRedisSerializer()); stringObjectRedisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer()); return stringObjectRedisTemplate; } protected CacheManager cacheManager(RedisConnectionFactory redisConnectionFactory){ RedisCacheConfiguration redisCacheConfiguration = RedisCacheConfiguration.defaultCacheConfig(); redisCacheConfiguration.entryTtl(Duration.ofMillis(30L)) .disableCachingNullValues() .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(new StringRedisSerializer())) .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(new GenericJackson2JsonRedisSerializer())); return RedisCacheManager.builder(RedisCacheWriter.nonLockingRedisCacheWriter(redisConnectionFactory)) .cacheDefaults(redisCacheConfiguration).build(); } }
防止超卖可以使用乐观锁cas,给数据库加个version属性更新操作就加一,流程是查询库存时带上版本号,在更新时比较版本号,相等表示时自己的操作,不等就失败直接返回。或者直接业务层加个事务锁一行数据。然后最好在上游服务做限流处理,用啥令牌桶算法啥的,或者sentinel,zuul。
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637