
缓存
文章平均质量分 87
Mr.VK
这个作者很懒,什么都没留下…
展开
-
【Redis】Redis 实现分布式Session
Cookie 保存在客户端浏览器中,而 Session 保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上,这就是 Session。客户端浏览器再次访问时只需要从该 Session 中查找该客户的状态就可以了。在实际工作中我们建议使用外部的缓存设备来共享 Session,避免单个服务器节点挂掉而影响服务,共享数据都会放到外部缓存容器中。原创 2024-02-29 10:15:10 · 1356 阅读 · 0 评论 -
【Redis】RedisTemplate和StringRedisTemplate的区别
RedisTemplate 看这个类的名字后缀是 Template ,如果了解过 Spring 如何连接关系型数据库的,大概不会难猜出这个类是做什么的 ,它跟 JdbcTemplate 一样封装了对Redis的一些常用的操作,当然 StringRedisTemplate 跟 RedisTemplate 功能类似那么肯定就会有人问,为什么会需要两个Template呢,一个不就够了吗?,如果需要自定义序列化配置,可以自己写一个 RedisTemplate 的Bean,来完成配置。那么就可以得出一个结论,原创 2024-02-29 10:24:12 · 2797 阅读 · 0 评论 -
【Redis】Redis分布式锁
分布式应用进行逻辑处理时经常会遇到并发问题。如果一个操作要修改用户的状态。修改状态需要先读出用户的状态,在内存里进行修改,改完了再存回去。如果这样的操作同时进行,就会出现并发问题,因为“读取”和“保存状态”这两个操作不是原子操作。。这个时候就要使用到分布式锁来限制程序的并发执行。Redis 分布式锁使用得非常广泛,它是面试的重要考点之一,很多同学都知道这个知识,也大致知道分布式锁的原理,但是具体到细节的掌握上,往往并不完全正确。原创 2023-08-18 22:56:57 · 408 阅读 · 0 评论 -
【Redis】Redis哨兵模式
Redis 可以存在多台服务器,并且实现了主从复制的功能。哨兵模式是一种特殊的模式,在 Redis 中哨兵是一个独立的进程。其原理是哨兵通过发送命令,等待 Redis 服务器响应,从而监控运行的多个 Redis 实例是否可以正常工作,如下图所示。通过发送命令,让 Redis 服务器返回其运行状态,包括主服务器和从服务器。当哨兵监测到主机出现故障后,会自动将其中一台从服务器切换成主服务器,然后通过发布订阅模式通知其他的从服务器,修改配置文件,让它们切换新的主服务器。原创 2023-08-18 22:21:47 · 645 阅读 · 0 评论 -
【Redis】Redis 的主从同步
很多企业都没有使用 Redis 的集群,但是至少都做了主从。有了主从,当主节点(Master) 挂掉的时候,运维让从节点 (Slave) 过来接管,服务就可以继续,否则主节点需要经过数据恢复和重启的过程,这就可能会拖延很长的时间,从而影响线上业务的持续服务。尽管 Redis 的性能很好,但是有时候依旧满足不了应用的需要,比如过多的用户进入主页.导致 Redis 被频繁访问,此时就存在大量的读操作。原创 2023-08-18 00:22:57 · 2588 阅读 · 0 评论 -
【Redis】Redis的持久化(备份)
Redis的数据全部在内存里,如果突然宕机,数据就会全部丢失,因此必须有一种机制来保证Redis的数据不会因为故障而丢失,这种机制就是Redis的持久化机制。原创 2023-08-16 23:30:38 · 975 阅读 · 0 评论 -
【Redis】Redis中大key怎么处理?
有时候会因为业务人员使用不当,在 Redis 实例中形成了很大的对象,比如一个很大的 hash 或一个很大的zset,都是可能出现的。这样的对象给 Redis 的集群数据迁移带来了很大的问题,因为在集群环境下,如果某个 key 太大,会导致数据迁移卡顿。另外在内存分配上,如果一个 key 太大,那么当它需要扩容时,会一次性申请更大的一块内存,这也会导致卡顿。如果这个大 key 被删除,内存会被一次性回收,卡顿现象也会再次产生。原创 2023-08-15 00:10:26 · 775 阅读 · 0 评论