
Redis
文章平均质量分 58
Vicious_Sea
编码中唱歌最好,唱歌中做饭最棒,做饭中,编码最nice。
展开
-
Redis过期删除以及内存淘汰策略
近期面试,游走于刀锋之上,闻题:key过期如何删除,再之,数据满后何解?研习之,遂记之。Redis对key设置过期时间,到期后,如何删除?定时删除设置某个key 的过期后,同时创建一个定时器,让定时器判断满足过期时间,满足立即删除。优势: 采用立即删除,能及时进行内存清理,避免大量无效key存在内存中;劣势:如果过期的key较多,对cpu会造成一定的压力.惰性删除key过期时, 不会立即删除, 而是在获取key时判断key是否过期, 如果过期, 获取时直接删除.优势.原创 2021-07-17 22:50:32 · 145 阅读 · 0 评论 -
Redis缓存问题
1. 缓存穿透缓存穿透指的是,高并发情况下,访问redis缓存中的某个key,key不存在,然后请求落入mysql发现依旧没有找到对应的值;此时大量的请求会直接落入mysql,出现mysql服务崩溃。解决方案:布隆过滤器;缓存空对象,请求某个key,如果key不存在,则赋值一个空对象;2. 缓存击穿缓存击穿指的是,大量请求落在某个热点数据,一直获取redis中的某个key,如果key过期,还未进行新的赋值操作,大量的请求会直接落在mysql服务器上。解决方案:设置热点数据永不过原创 2021-07-06 16:29:39 · 176 阅读 · 0 评论 -
Redis主从复制与哨兵模式
Redis主从复制1. 架构模型主从复制模式至少要有3个redis服务器节点,每个redis服务器启动时,都默认是主机,所以只需要对从机进行配置所属主机。集群环境中,主机只做写入,从机只做读取。2. 实现方式由于服务器环境有限,测试将会在一个服务器启动多个redis节点模拟redis集群,实际工作环境中,redis服务端会运行在不同的服务器上。准备工作:(以下文件仅在同服务器多节点测试使用,实际工作场景,多个服务器不需要配置,只需要配置从机所属主机的ip地址和端口号)找到re原创 2021-07-06 15:18:12 · 164 阅读 · 0 评论 -
Redis配置文件与持久化方式
基本配置redis.conf,配置不区分大小写;units are case insensitive so 1GB 1Gb 1gB are all the same.includes,可以引入其他配置文件;include /path/to/other.confbind ,绑定可以访问的ip,默认绑定本机,注销及所有ip都可以访问;bind 127.0.0.1protected-mode yes #设置保护模式打开port,设置运行端口,默认6379port 63原创 2021-07-05 18:38:09 · 190 阅读 · 0 评论 -
Redis事务原子性
Redis事务原子性事务,是一系列的逻辑运行操作。事务具有ACID,原子性,一致性,隔离性,持久性。但是,作为非关系型数据库的Redis,事务是一组命令集,针对这组命令集,事务还是否具有原子性?实例操作分析以上指令:开启事务,键入正确的指令入队,其中加入一些错误的指令lpush name cz,最终执行事务。结果发现,正确的指令都正常执行,只有错误的执行抛出了异常信息。事务执行后,针对事务中创建的list数据,依旧可以获取到值。说明整个事务并没有因为某个指令的错误而全部失败。因此,Redis原创 2021-07-02 10:39:25 · 619 阅读 · 0 评论 -
Redis分布式锁
Redis分布式锁1. 引入jar包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>2. 分布式锁实现setnx命令set if not e原创 2021-06-24 16:35:01 · 206 阅读 · 1 评论