
redis
文章平均质量分 70
fanger8848
修炼中
展开
-
Redis学习目录
单机版安装哨兵部署(一主两从三哨兵)集群搭建数据类型介绍高级用法介绍分布式原理介绍Redis客户端缓存一致性问题Redis高并发问题原创 2021-06-29 11:42:39 · 105 阅读 · 0 评论 -
Redis高并发问题
1、热点数据的发现2、缓存雪崩2.1、什么是缓存雪崩?缓存雪崩就是Redis的大量热点数据同时过期(失效),因为设置了相同的过期时间,刚好这个时候Redis请求的并发量又很大,就会导致所有的请求落到数据库。2.2、解决方案加互斥锁或者使用队列,针对同一个key只允许一个线程到数据库查询缓存定时预先更新,避免同时失效通过加随机数,使key在不同的时间过期缓存永不过期3、缓存穿透3.1、什么是缓存击穿?缓存击穿是请求中查询的key,在缓存中不存在,同时在数据库中也不存原创 2021-06-29 11:31:24 · 210 阅读 · 0 评论 -
缓存数据一致性问题
1、问题描述在实际开发中,我都需要使用redis做缓存来减轻数据的压力,提高查询效率。如果数据的数据进行了修改,这时候就会出现数据的数据和缓存数据不一致问题。2、解决方案2.1、Redis数据删除还是更新这里我们先要补充一点,当存储的数据发生变化,Redis的数据也要更新的时候,我们有两种方案,一种就是直接更新Redis数据,调用set;还有一种是直接删除Redis数据,让应用在下次查询的时候重新写入。这两种方案怎么选择呢?这里我们主要考虑更新缓存的代价。更新缓存之前,是不是要经过其他表的查原创 2021-06-29 11:30:40 · 265 阅读 · 0 评论 -
Redis客户端
官方推荐的Redis客户端有如下3中JedisLettuceRedisson配置作用JedisA blazingly small and sane redis java client(体系非常小,但是功能很完善)lettuceAdvanced Redis client for thread-safe sync, async, and reactive usage. Supports Cluster, Sentinel,Pipelining, and co原创 2021-06-29 11:29:33 · 131 阅读 · 0 评论 -
布隆过滤器
1、介绍布隆过滤器(boomFilter)的出现是为了解决“如何在海量(例如10亿无序、不定长、不重复)元素中,快速判断一个元素是否存在?”。这样正好就可以解决缓存穿透问题,在缓存前面再加入布隆过滤器,key存在则访问缓存。2、使用(guava的实现)引入jar包<dependency> <groupld>com.google.guava</groupId> <artifactId guava</artifactId> <ver原创 2021-06-29 11:11:20 · 303 阅读 · 0 评论 -
redis分布式介绍
redis分布式介绍redis分布式的方式redis主从模式sentinel哨兵模式redis集群模式Redis分布式的优点提升性能,部署多台redis服务分摊压力,实现负载均衡。高可用,避免单点故障,带来的问题。可扩展性,redis所有的数据都存放在内存中,如果数据量大,很容易受到硬件的限制。升级硬件性价比低,所以需要一种水平扩展的方法。redis主从复制1.主从复制配置Redis主从配置非常简单,只要在slave节点的redis.conf配置中开启如下配置#配置maste原创 2021-06-28 18:20:53 · 1348 阅读 · 0 评论 -
redis高级用法
redis高级特性一、发布订阅概述发布订阅功能,可以类比的理解为广播,发布端发布消息至redis,订阅端通过监听redis的channel获取消息内容。如上图所示,publisher1可以发布消息到java-channel和python-channel;subscriber3也同时可以订阅java-channel、python-channel、ruby-channel的消息。订阅端可以同时订阅多个channel,可以通过监听方法的入参来区分channel。发布端可以,分别向多个channel原创 2021-06-28 18:13:23 · 991 阅读 · 0 评论 -
Redis集群搭建
Redis集群搭建搭建步骤这里我们在同一台机器上搭建3主3从集群。基于单机部署,配置文件上添加和修改配置。机器的ip地址:192.168.0.100,进行如下操作cd /usr/local/softmkdir redis-clustercd redis-clustermkdir 7291 7292 7293 7294 7295 7296复制redis配置文件到7291目录cp /usr/local/soft/redis/redis.conf /usr/local/soft/redis-c转载 2021-06-28 18:08:22 · 106 阅读 · 0 评论 -
redis哨兵部署
一主两从,三哨兵部署本次安装基于单机安装成功的情况下,单机安装教程安装一个Redis服务之后,可以克隆出来3台机器,避免重复安装。开启哨兵模式,至少需要3个Sentinel实例(奇数个,否则无法选举Leader)。本例通过3个Sentinel实例监控3个Redis服务(1主2从)。IP地址 节点角色&端口192.168.1.101 Master:6379 / Sentinel : 26379192.168.1.102 Slave :6379 / Sentinel :转载 2021-06-28 12:57:12 · 236 阅读 · 0 评论 -
redis数据类型
redis数据类型介绍一、String存储数据类型可以用来存储INT、float、String。常用操作命令# 获取指定范围的字符getrange test001 0 1# 获取字符串长度strlen test001# 追加字符串append test001 000# 设置多个值 (原子操作)mset test002 002 test003 003# 获取多个值mget test002 test003# 设置值,如果key不存在则成功,key存在则不成功;基于此可实现原创 2021-06-26 18:28:57 · 263 阅读 · 0 评论 -
redis单机版安装步骤
单机版安装1、下载redis官网下载地址 https://download.redis.io/releases/redis-6.2.4.tar.gz或者直接linux下载wget https://download.redis.io/releases/redis-6.2.4.tar.gz2、安装gcc依赖Redis是C语言编写的,编译需要GCC。Redis6.x.x版本支持了多线程,需要gcc的版本大于4.9,但是CentOS7的默认版本是4.8.5。查看gcc的版本:gcc -v原创 2021-06-26 18:25:33 · 386 阅读 · 0 评论