Redis
文章平均质量分 73
学习Redis
白日日白
热爱、坚持
展开
-
Redis持久化(RDB、AOF)
RDB:Redis数据备份文件,也叫Redis数据快照,简单来说就是把内存数据保存的磁盘上,当Redis故障重启后,从磁盘中读取快照并恢复数据到Redis中。同时,Redis会在停机时自动进行一次RDB操作(主动停机,不是宕机)也可以在redis.conf文件下配置触发规则save 900 1– 表示在900秒内,redis中有1个key发生改变,那么就进行一次bgsave– 表示在300秒内,redis中有1个key发生改变,那么就进行一次bgsave。原创 2023-10-31 22:22:39 · 172 阅读 · 0 评论 -
记 ==> 首次使用rabbitMQ优化项目
于是我便打算用rabbitMQ的directExchange模式进行消息发送,关注或者取关后把消息发布出去,不关注对帖子的拉取的行为,让监听者去慢慢的拉。这个模块大概功能是:用户发送的所有帖子都会添加到他的发件箱,当有个新用户关注了他,他发件箱内所有的博客都会被添加到关注他用户的收件箱里。我的理解是,这个接口的功能就是单纯的实现用户关注和取关,并不关注帖子的拉取和删除,并不该把这两个功能冗杂在一个方法里。当用户取关后,从用户收件箱内移除掉被取关博主的帖子。比如:A关注B,A的收件箱内添加B的帖子。原创 2023-04-13 23:13:52 · 534 阅读 · 1 评论 -
Redis( 缓存篇 ==> 互斥锁解决缓存击穿
我们可以在查询缓存未命中的时候添加一个互斥锁。这样一来,只有第一个进来的线程才可以拿到锁然后操作数据库,待操作结束后释放锁,未拿到锁的用户则等待一段时间重新查询缓存,知道缓存重建完毕后拿到数据方可结束。这样一来,只有第一个进来的线程才可以添加key并返回true,后面来的线程无法完成添加且返回false。我们在写一个释放锁的方法,在拿到锁的进程操作数据库结束后,把锁释放掉防止死锁。关于互斥锁这一部分,我们可以使用Redis里的setnx命令来模拟实现。原创 2022-10-29 21:46:04 · 2108 阅读 · 0 评论 -
Reids( 缓存篇 ==> 缓存穿透解决方案
当客户端发送的请求在Reids缓存中和数据库中都查询失败,我们设置一个空值缓存起来,这样即使用户访问了不存在的数据,也不会让请求直接穿透的数据库上。注意:缓存空值的过期时间不宜太长,假设我们之后真的添加了新数据,也不会造成过久的数据不一致问题。原创 2022-10-29 00:38:58 · 711 阅读 · 0 评论 -
Redis( 缓存篇==> 缓存击穿、雪崩、穿透现象
缓存穿透:指客户端请求的数据在Redis缓存、数据库中都不存在。当数据库中也没有数据,则永远无法添加缓存到Redis。当遇到大量的请求同时访问时,请求会直接穿透到数据库上,给数据库造成很大的压力。缓存雪崩:指许多key在同一时刻大量过期,或Redis直接宕机,大量的请求直接打到数据库上,造成数据库瞬时压力过大。缓存击穿:指一个被高并发访问的key(一般存在于秒杀活动中)突然过期、失效,且重建缓存的业务逻辑较为复杂,在缓存重建的过程中,无数的请求直接打到数据库上,造成数据库压力过大。原创 2022-10-29 00:14:31 · 388 阅读 · 0 评论 -
Redis( 缓存篇 ==> 超详细的缓存介绍与数据一致性解决方案 & 代码实现
图文并茂的向你描述什么是缓存,以及java开发中如何采取正确的策略去解决缓存一致性问题。超级详细~~原创 2022-10-20 00:46:16 · 1428 阅读 · 1 评论 -
Redis( 基础篇 ==> StringRedisTemplate的使用
StringRedisTemplate它的key和Value默认就是String方式,我们不用自己再去定义RedisTemplate的配置类。原创 2022-10-16 23:32:48 · 18008 阅读 · 0 评论 -
Redis(基础篇 ==> RedisTemplate的序列化
解决RedisTemplate默认采用JDK序列化器导致存入数据可读性差的方案原创 2022-10-16 21:33:05 · 613 阅读 · 0 评论 -
Redis( 基础篇 ==> SpringDataRedis的使用
SpringData是Spring中数据操作的模块,包含了对各种数据库的集成。其中对Redis的集成模块,就是SpringDataRedis的特点如下:提供了对不同Redis客户端的整合(Lettuce和Jedis(上一章提到的))提供了统一API来操作Redis支持Redis的发布订阅模型支持Redis哨兵和Redis集群支持基于Lettuce的响应式变成支持基于JDK、JSON、字符串,Spring对象的序列化和反序列化支持基于Redis的JDKCollection实现。原创 2022-10-16 19:18:39 · 836 阅读 · 0 评论 -
Redis( 基础篇 ==> Jedis入门 & Jedis连接池
Redis不仅是使用命令来操作,现在基本上主流的语言都有客户端支持,比如java、C、C#、C++、php、Node.js、Go等。在官方网站里列一些Java的客户端,有Jedis、Redisson、Jredis、JDBC-Redis、等其中官方推荐使用Jedis和Redisson。在企业中用的最多的就是Jedis。Jedis提供了完整Redis命令,而Redisson有更多分布式的容器实现。但是,Jedis的实例不是I线程安全的,我们还需要使用Jedis连接池来为我们创建一些安全可靠的实例。原创 2022-10-10 23:01:29 · 2427 阅读 · 0 评论 -
Redis( 基础篇 ==> 数据结构介绍 & 基本命令使用
理解Redis数据库的数据结构,超级详细讲述Redis中所有常用命令原创 2022-10-09 23:14:48 · 520 阅读 · 0 评论 -
Redis( 入门篇 ==> Linux系统下安装及启动&图形化界面
在Linux上安装Redis,保姆级教程原创 2022-10-08 23:03:06 · 1694 阅读 · 0 评论