随笔分类 -  redis

摘要:https://redis.io/commands/eval Atomicity of scripts Redis uses the same Lua interpreter to run all the commands. Also Redis guarantees that a script i 阅读全文
posted @ 2020-12-27 18:48 郭星 阅读(200) 评论(0) 推荐(0)
摘要:虽然redis提供了rdb(全量备份)和aof(增量备份),但单机节点有可能出现服务器宕机等情况导致数据丢失,无法实现一个高可用的目的; 主从同步(复制): 通过主节点向所有的从节点复制数据,当主节点出现数据变更时将自动将数据同步到从节点; 劣势点: 当主节点宕机情况下,无法自动完成主备切换,需要使 阅读全文
posted @ 2020-12-25 16:48 郭星 阅读(347) 评论(0) 推荐(0)
摘要:关于使用redis 作为缓存,我们需要考虑以下问题 缓存穿透 缓存穿透的定义为当存在大量请求的情况下,请求会首先查询redis,redis中不存在数据,此时需要查询DB判断数据是否存在,对于DB返回的结果也是数据不存在的情况; 在这种情况下由于数据确实不存在,从而导致 一次请求 会连续请求到 red 阅读全文
posted @ 2020-12-24 20:10 郭星 阅读(388) 评论(0) 推荐(0)
摘要:关于 redis lists 类型 https://redis.io/topics/data-types-intro lists 相关操作命令 : https://redis.io/commands#list 根据文档中的关于 lists 的简介 为 其基于 linked list 数据结构 对于链 阅读全文
posted @ 2020-12-22 13:43 郭星 阅读(117) 评论(0) 推荐(0)
摘要:这里说的集群模式为 sentinel 和 cluster 模式 (PS : 本人对于 sentinel 和 cluster 两种集群模式还处于学习阶段) 相关redLock 官方介绍(PS : 里面包含了算法的思想以及相关代码演示) https://redis.io/topics/distlock 阅读全文
posted @ 2020-12-20 11:43 郭星 阅读(813) 评论(0) 推荐(0)
摘要:// redis 锁的优势 对于分布式服务的情况下,当只使用java原生相关锁(ReentrantLock)操作时,只能保证一个jvm进程中的操作受到锁的保护,但对于多个jvm进程就无法进行有效锁保护控制; 因此为了满足分布式场景, 需要使用一个统一管理位置,因此通过redis 来做作为锁控制 sp 阅读全文
posted @ 2020-12-17 20:15 郭星 阅读(2106) 评论(0) 推荐(0)
摘要:使用lua 实现cas操作 @Bean(name = "customStringRedisTemplate")public RedisTemplate<String, String> customStringRedisTemplate(RedisConnectionFactory factory) 阅读全文
posted @ 2020-09-27 15:35 郭星 阅读(301) 评论(0) 推荐(0)
摘要:使用原子自增和 expire 搭配实现原子操作 @Bean(name = "customStringRedisTemplate") public RedisTemplate<String, String> customStringRedisTemplate(RedisConnectionFactor 阅读全文
posted @ 2020-09-27 13:19 郭星 阅读(1815) 评论(0) 推荐(0)