![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis
文章平均质量分 79
加州暖阳
这个作者很懒,什么都没留下…
展开
-
使用redis实现分布式会话
一、什么是会话?会话Session代表的是客户端与服务器的一次交互过程,这个过程可以是连续也可以是时断时续的。曾经的Servlet时代(jsp),一旦用户与服务端交互,服务器tomcat就会为用户创建一个session,同时前端会有一个jsessionid,每次交互都会携带。如此一来,服务器只要在接到用户请求时候,就可以拿到jsessionid,并根据这个ID在内存中找到对应的会话session,当拿到session会话后,那么我们就可以操作会话了。会话存活期间,我们就能认为用户一直处于正在使用着网站的状转载 2021-05-26 10:40:47 · 1193 阅读 · 0 评论 -
Redis在Springboot项目中的常用操作
一.引入redis依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency>Jedis是Redis官方推荐的面向Java的操作Redis的客户端,而RedisTemplate是SpringDataRedis中对JedisAp原创 2021-05-25 19:28:40 · 286 阅读 · 0 评论 -
Redis 缓存穿透、缓存击穿、缓存雪崩区别和解决方案
一、缓存处理流程请求进后台之后先从cache中取数据,取到直接返回结果,取不到时从db中取,将db中读取出来的数据入缓存,并返回结果,数据库也没取到,那直接返回空结果。二、缓存穿透描述:访问一个不存在的key,缓存不起作用,请求会穿透到DB,流量大时DB会挂掉。解决方案:1.接口层增加校验,如用户鉴权校验,id做基础校验,id<=0的直接拦截;2.从缓存取不到的数据,在数据库中也没有取到,这时也可以将key-value对写为key-null,缓存有效时间可以设置短点,如30秒(设置太长转载 2021-05-25 15:26:26 · 317 阅读 · 0 评论 -
基于docker搭建Redis的三主三从集群模式
redis集群是由一系列的主从节点群组成的分布式服务器群,它具有复制、高可用和分片特性。Redis集群不需要 sentinel哨兵也能完成节点移除和故障转移的功能。需要将每个节点设置成集群模式,这种集群模式没有中心节点,客户端通过CRC16算法对key进行hash得到一个值,来判断该key存储在哪个主从服务上面,因此就算是某一个主从整个宕机,redis集群也是部分可用的。方便水平扩展,可以根据业务规模可以随时加减配置。据官方文档称可以线性扩展到上万个节点(但是官方推荐不超过1000个节点)。redis集群原创 2021-05-20 14:52:10 · 783 阅读 · 1 评论 -
Redis单线程、高并发快的原因&&Redis的缓存过期处理与内存淘汰机制
Redis的高并发和快速原因1.redis是基于内存的,内存的读写速度非常快;2.redis是单线程的,省去了很多上下文切换线程的时间;3.redis使用多路复用技术,可以处理并发的连接。非阻塞IO 内部实现采用epoll,采用了epoll+自己实现的简单的事件框架。epoll中的读、写、关闭、连接都转化成了事件,然后利用epoll的多路复用特性,绝不在io上浪费一点时间。Redis是单线程的原因Redis是基于内存的操作,CPU不是Redis的瓶颈,Redis的瓶颈最有可能是机器内存的大小或者网原创 2021-04-20 11:54:18 · 318 阅读 · 1 评论 -
Redis的主从复制原理及docker环境下的实操
一.概述主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave);数据的复制是单向的,只能由主节点到从节点。默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。二.作用数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;实际上是一种服务的冗余。负载均衡:在主从原创 2021-04-19 20:16:26 · 244 阅读 · 0 评论 -
Docker下安装Redis&&Redis的持久化机制
一、Docker下安装Redis1.docker中下载镜像docker pull redis2.创建redis.conf文件(建议从官网中下载)从官网中下载 redis-6.0.6.tar.gz,解压后获取其中的redis.conf文件,并上传到服务器的指定目录下3.修改redis.conf配置文件bind在配置文件redis.conf中,默认的bind 接口是127.0.0.1,也就是本地回环地址。这样的话,访问redis服务只能通过本机的客户端连接,而无法通过远程连接。通常情况下有两原创 2021-04-19 16:24:34 · 396 阅读 · 0 评论 -
redis 使用docker设置一主二从三哨兵
引子在之前的文章Redis的主从复制原理及docker环境下的实操中,实现了redis在docker环境下的主从复制,这时候会出现一个问题,如果Master挂了,如何保证可用性,实现继续读写,这时候就需要使用哨兵对redis主从服务进行监控。什么是哨兵 sentinel哨兵(Sentinel)是用于监控redis主从架构中master状态状态的工具,是redis高可用解决方案。哨兵可以监控一个或者多个redis master服务,以及这些master服务的所有slave服务。当某个master服务宕机原创 2021-05-08 17:49:50 · 411 阅读 · 3 评论