TypechoJoeTheme

Clover 的博客

统计
登录
用户名
密码
/
注册
用户名
邮箱

CloverYou

日出于东却落于西,相识人海却散于席。
搜索到 4 篇与 微服务 的结果
2022-01-06

缓存数据的一致性

缓存数据的一致性
缓存数据的一致性读所有的数据,首先去缓存中获取,缓存中没有就去读数据库,最后在缓存中放一份。如果该数据在数据库中发生改变,那么缓存里面的数据如何和数据库保持一致?解决这个问题,目前有两个用的非常多的场景:双写模式失效模式双写模式修改数据库的数据后再修改缓存中的数据但又引出了一个问题,那就是当有并发时,线程一将数据库的值改为「一号」然后立刻将这个值保存到缓存,而保存过程中遇到了种种原因,如网络波动,导致了数据延迟抵达缓存服务器,而此时线程二已经将数据库数据改为「二号」然后将数据保存到缓存,线程二网络通畅,很快就抵达缓存服务器先于线程一将数据保存到缓存中,而此时线程一的数据才抵达缓存服务器,将数据「一号」保存到了缓存中(把二号覆盖),这时缓存中保存的就是一个脏数据。这是临时性的脏数据问题,但是在数据稳定、缓存过期后,又能得到最新的正确数据。读到的最新数据有延迟,这就导致了数据的最终一致性问题。失效模式在改完数据库后,将缓存中的数据删除,下一次请求进来从缓存获取数据时发现没有对应数据,他会到数据库中查询并将数据保存在缓存中。失效模式也有数据最终一致性问题,例如有三台服务器同时并发,服务...
CloverYou
2022-01-06

JAVA,其它

78 阅读
1 评论
2022年01月06日
78 阅读
1 评论
2022-01-04

Redisson 配置附带官方关于锁的文档

Redisson 配置附带官方关于锁的文档
Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。其中包括(BitSet, Set, Multimap, SortedSet, Map, List, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, AtomicLong, CountDownLatch, Publish / Subscribe, Bloom filter, Remote service, Spring cache, Executor service, Live Object service, Scheduler service) Redisson提供了使用Redis的最简单和最便捷的方法。Redisson的宗旨是促进使用者对Redis的关注分离(Separation of Concern),从而让使用者能够将精力更集中地放在处理业务逻辑上。初始化引入 Redisson 原生依赖。该依赖提供了分布式锁、分布式对象...
CloverYou
2022-01-04

随笔

63 阅读
0 评论
2022年01月04日
63 阅读
0 评论
2022-01-04

Redis 缓存

Redis 缓存
缓存为了系统性能的提升,一般会将部分数据加入缓存中,加速访问。而 db 承担数据落盘工作。哪些数据适合放入缓存?即时性、数据一致性要求不高的访问量大而且更新频率不高的数据(读多,写少)整合Redis在 SpringBoot 工程中引入 Redis 场景<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>在配置文件中配置 Redis,Redis 的属性配置都在 org.springframework.boot.autoconfigure.data.redis.RedisPropertiesspring: # 配置 redis redis: host: 172.16.34.128使用 StringRedisTemplate 操作 redis@SpringBootTest @Slf4j @Dis...
CloverYou
2022-01-04

其它,JAVA

56 阅读
0 评论
2022年01月04日
56 阅读
0 评论
2022-01-02

使用nacos作为配置中心统一管理配置

使用nacos作为配置中心统一管理配置
基础环境引入所需依赖包<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency>创建一个 bootstrap.properties 或 bootstrap.yaml 。其中指定项目名与配置中心服务器地址spring.application.name=gulimall-coupon spring.cloud.nacos.config.server-addr=127.0.0.1:8848最后需要再配置中心添加一个数据集(Data Id),通常是「应用名.properties」。新建完后就可以给“配置内容”中添加任何配置,可以通过@Value("${配置名}")获取到配置。如果还需要动态刷新,可以给类加上 @RefreshScope 。@RefreshScope public class ...
CloverYou
2022-01-02

随笔

37 阅读
0 评论
2022年01月02日
37 阅读
0 评论
CloverYou
日出于东却落于西,相识人海却散于席。
88 文章数
11 评论量
IP信息

人生倒计时

今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月

最新回复

  1. 缓存一致性 - 点击领取
    2022-01-06
  2. 宝宝
    2022-01-02

标签云