redis
伤魂孤傲
物竞天择,适者生存
展开
-
Redis实现延时队列
延迟消息队列使用场景 Redis如何实现消息队列? 延迟队列可以通过 zset 来实现,因为 zset 中有一个 score,我们可以把时间作为 score,将 value 存到 redis 中,然后通过轮询的方式,去不断的读取消息出来 整体思路 1.消息体设置有效期,设置好score,然后放入zset中 2.通过排名拉取消息 3.有效期到了,就把当前消息从zset中移除 创建一个消息实体类: import java.time.LocalDateTime; public class Message转载 2021-09-13 19:51:53 · 780 阅读 · 0 评论 -
Unable to connect to Redis; nested exception is io.lettuce.core.RedisConnectionException
项目中使用springBoot整合redis一直报这样的错,在网上找了半天也没找到原因,有说是redis服务没有启动,我看了看我的redis明明启动了,又有说设置超时时间,发现都没有解决,最后通过同事提醒,才发现我的redis连接没有密码,而我之前以为我配置了密码 原来的配置 spring: redis: host: localhost port: 6379 password: 123 修改后的配置 spring:原创 2021-08-11 11:21:56 · 723 阅读 · 2 评论 -
如何保证缓存与数据库的双写一致性?
分布式缓存是现在很多分布式应用中必不可少的组件,但是用到了分布式缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题? Cache Aside Pattern 最经典的缓存+数据库读写的模式,就是 Cache Aside Pattern。 读的时候,先读缓存,缓存没有的话,就读数据库,然后取出数据后放入缓存,同时返回响应。 更新的时候,先更新数据库,然后再删除缓存。 为什么是删除缓存,而不是更新缓存? 原因很简单,很多时候,在复杂点的缓存场景,缓.转载 2020-10-20 10:39:46 · 67 阅读 · 0 评论