Redis
文章平均质量分 69
柯南是死神
苦逼大学生
展开
-
Redis的缓存击穿和缓存雪崩
一、什么是缓存击穿 redis中没有出现大量的key过期,而且redis是正常运行的,但是此时数据库的访问量瞬间增大。造成原因:redis中的某个key过期了,恰好有大量的并发访问要使用这个key,就会使数据库的压力瞬间增大。二、如何解决预先设置热门数据:在redis高峰访问之前,把一些热门数据提前存入到redis里面,加大这些key的时常;适时调整:现场监控哪些数据热门,实时调整key的过期时常;使用锁:效率比较低一、什么是缓存雪崩 在极少的时间段内,出现了大量的key过期,导致数据库原创 2021-07-13 18:45:34 · 90 阅读 · 0 评论 -
Redis缓存穿透
一、什么是缓存穿透 在客户端发送请求查询数据的时候,先是查询缓存,若缓存中没有该数据,再去查询数据库,查到数据以后返回给客户端,并且将该数据写入缓存中。如果有大量的请求查询不存在的数据,会给数据库带来极大的压力,这个就是缓存穿透。二、怎么解决缓存穿透对空值做缓存: 如果一个查询返回的数据为null(不管数据是否存在),我们扔把这个空结果进行缓存,设置很短的空结果的过期时间,最长不超过5min。设置白名单: 利用bitmaps,定义一个可访问的白名单,名单id为birmaps的偏移量,每次访问都原创 2021-07-13 18:22:39 · 1679 阅读 · 0 评论 -
Redis集群
一、是什么 Redis集群实现了对redis的水平扩容,即启动N个redis节点,将整个数据库分布存储在这N个节点中,每个节点占存储总数的1/N。二、搭建集群 搭建一个三主三从的redis集群,在一台服务器上模拟。该操作在Reids的主从复制基础上进行。先删除之前的dump文件修改配置文件删除6380、6381配置文件,复制5份6379文件,模拟五台redis。修改配置文件,将端口号改为文件名端口号启动6个redis服务,生成以下6个配置文件将6个节点合成一个集群,我这里使用的原创 2021-07-13 17:09:15 · 132 阅读 · 0 评论 -
Redis的主从复制
一、什么是主从复制主服务器用于写入数据,从服务器用于读取数据,master/slaver机制,master写,slaver读有什么作用实现读写分离,减缓服务器压力容灾快速恢复二、实现组从复制(一台服务器模拟)新建myredis文件夹并将redis配置文件复制到该目录下配置一主俩从,创建三个配置文件:redis6379.conf、redis6380.conf、redis6381.conf,先将刚才复制文件的AOF关闭创建并编辑3个配置文件,直接使用vim创建启动三个服务原创 2021-07-12 19:16:41 · 139 阅读 · 0 评论 -
Redis的持久化操作(RDB、AOF)
一、RDB(Redis DataBase)是什么: RDB是在指定的时间间隔内将内存中的数据集快照写入磁盘,恢复的时候将文件快照直接读取到内存中。 Redis会在启动目录下生成一个dump.rdb文件。redis.conf配置如下:也可以指定输出目录:默认RDB持久化的三种策略: 在配置好配置文件以后,重启Redis,进行测试,配置在30s内改变10个key就进行持久化操作 在存入12个键值对以后,dump.rdb的文件大小发生了改变,说明持久化成功,需要注意的是,redis只会按照规原创 2021-07-12 12:59:12 · 196 阅读 · 0 评论 -
Redis中的事务操作
Redis中的事务是一个单独隔离的操作,事务中的所有命令都会被序列化、按顺序的执行,事务在执行的过程中,不会被其他客户端发来的请命令请求打断。Redis中事务的主要作用就是串联多个命令防止别的命令插队。 Redis中事务操作通过三个关键词来实现:Multi、Exec、discard,Multi是组队阶段,Exec是执行阶段,discard可以在组队的过程中放弃组队。 注意:在组队的时候有任何一个命令失败,则组队的队列会被取消,在执行的时候某个命令出现了错误,只有出现错误的事务不会执行,其他的事务都会原创 2021-07-08 16:35:57 · 97 阅读 · 0 评论 -
Redis的三种新数据类型
一、Bitmaps Bitmaps本身不是一种新的数据类型,实际上就是字符串,但是它可以对字符串的位进行操作。在Redis中Bitmaps和字符串的操作方法不太相同。可以把Bitmaps想象成一个以位为单位的数组,数组的每个单元只能存储0和1,数组的下标在Bitmaps中叫偏移量。命令setbit设置某个偏移量的值,记录每个独立用户是否访问过网站,是为1,否则为0。users:20210706是2021-07-06这天独立访问用户的bitmaps,如图,表示1、6、10号用户访问过。 注意:很原创 2021-07-06 11:15:43 · 816 阅读 · 0 评论 -
redis的基本类型操作(包括底层实现)
一、String String类是二进制安全的,意味着String类可以包含任何数据,比如图片或者序列化的对象。一个value最多是512M。常用命令set get set会覆盖旧值appendsetnx:key不存在的时候才会设置keyincr和decr 给数字加一和减一incrby/decrby设置加减步长mset/mget设置多个key/valuemsetnx原子性存入,存在就不会存入getrange 截取字符串,相当于substringsetrange相当于原创 2021-07-05 17:48:37 · 147 阅读 · 0 评论