redis
文章平均质量分 67
nailaseb
这个作者很懒,什么都没留下…
展开
-
Redis--13.进阶(缓存穿透击穿和雪崩)--面试高频
1.缓存穿透概念缓存穿透的概念很简单,用户想要查询一个数据,发现redis内存数据库没有,也就是缓存没有命中,于是向持久层数据库查询。发现也没有,于是本次查询失败。当用户很多的时候,缓存都没有命中(比如商品秒杀! ) ,于是都去请求了持久层数据库。这会给持久层数据库造成很大的压力,这时候就相当于出现了缓存穿透。解决方案1.布隆过滤器布隆过滤器是一种数据结构,对所有可能查询的参数以hash形式存储,在控制层先进行校验,不符合则丢弃,从而避免了对底层存储系统的查询压力;2.缓存空对象当存储.原创 2021-08-16 21:03:07 · 112 阅读 · 0 评论 -
Redis--12.进阶(主从复制)
1.介绍原创 2021-08-12 22:21:31 · 61 阅读 · 0 评论 -
Redis--11.进阶(Redis发布订阅)
1.介绍Redis发布订阅(pub/sub)是一种消息通信模式 : 发送者(pub)发送消息,订阅者(sub)接收消息。Redis客户端可以订阅任意数量的频道。如图示:又如图:2.测试我们再开启一个redis窗口,用于发送消息:回到之前的页面,发现收到了新消息:菜鸟教程上的redis发布订阅命令:https://www.runoob.com/redis/redis-pub-sub.html3.原理Redis是使用C实现的,通过分析Redis源码里的pubsu...原创 2021-08-12 22:20:02 · 78 阅读 · 0 评论 -
Redis--10.进阶(AOF方式持久化)
1.介绍AOF ( Append Only File ):将我们的所有命令都记录下来,即历史记录,恢复的时候就把这个文件全部再执行一遍 !以日志的形式来记录每个写操作,将Redis执行过的所有指令记录下来(读操作不记录) , 只许追加文件但不可以改写文件, redis启动之初会读取该文件重新构建数据,换言之, redis重启的话就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作:2.配置测试在配置文件中的位置:可以看到默认不开启aof的,选动开启 yes,其他配置默认即...原创 2021-08-12 21:58:50 · 235 阅读 · 0 评论 -
Redis--9.进阶(RDB方式持久化)
1.介绍原创 2021-08-12 21:21:08 · 121 阅读 · 0 评论 -
Redis--8.进阶(Redis.conf的理解)
1.我们查看一下redis的配置文件:redis.conf打开文件从上往下看:1)uint单位2)包含文件(可以写数个配置文件,然后引用过来组合成一个)3)network网络配置4)General 一些通用配置5)snapshot 快照用于持久化的配置,因为redis是基于内存的,如果不进行持久化操作,数据会丢失6)Replication 主从复制7)Security 安全也可以用命令行设置8)Client 客户端限制9)ME...原创 2021-08-09 23:04:02 · 58 阅读 · 0 评论 -
Redis--7.spring-boot整合redis
1.简介spring-data是和spring-boot齐名的项目,在spring-data中有jpa,jdbc,redis,mongodb等数据持久化方式,对于redis,springboot2.x开始将jedis替换成了lettuce。jedis :采用的直连,多个线程操作的话,是不安全的,如果想要避免不安全的,使用jedis pool 连接池!BIO模式lettuce :采用netty ,实例可以再多个线程中进行共享,不存在线程不安全的情况!减少线程数量,NIO模式2.配置redis(原创 2021-07-27 23:14:19 · 745 阅读 · 0 评论 -
Redis--6.入门(Jedis简介)
1.简介这是java连接redis的api2.测试使用1)新建maven项目并导入依赖<dependencies> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.2.0</version原创 2021-08-04 23:08:56 · 71 阅读 · 0 评论 -
Redis--5.入门(Redis事务和锁)
1.简介1)redis事务:即一组命令的有序集合2)Redis单条命令是保存原子性的,但是Redis事务不保证原子性!3)关系型数据库有四个原则ACID:A (Atomicity) 原子性、C (Consistency) 一致性、I (Isolation) 隔离性、D (Durability) 持久性4)Redis事务没有没有隔离级别的概念,所有的命令在事务中,并没有直接被执行!只有发起执行命令的时候才会执行!5)Redis事务过程:●开启事务(MULTI)...原创 2021-08-04 22:32:32 · 77 阅读 · 0 评论 -
Redis--4.入门(特殊数据类型)
1.Geospatial 地理位置Redis的Geo在Redis3.2版本就推出了!这个功能可以推算地理位置的信息,两地之间的距离,方圆几里的人!先准备一些城市地区的经纬度,查询工具:https://jingweidu.bmcx.com/GEOADD key 经度 纬度 位置名称 :添加地理位置有效的经度从-1 80度到180度;有效的纬度从-85.05112878度到85.05112878度。当坐标位置超出上述指定范围时,该命令将会返回一个错误。GEOPOS :获取指定的经度...原创 2021-08-03 23:03:29 · 72 阅读 · 0 评论 -
Redis--3.入门(基础命令和基本类型)
Redis是一个开源( BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件MQ。它支持多种类型的数据结构,如字符串( strings),散列( hashes),列表(lists),集合(sets),有序集合( sorted sets)与范围查询,bitmaps,hyperloglogs 和地理空间( geospatial )索引半径查询。Redis 内置了复制( replication) , LUA脚本( Luascripting ),LRU驱动事件( LRU eviction).原创 2021-07-29 23:51:16 · 115 阅读 · 0 评论 -
Redis--2.安装与测试
1.Redis能干嘛?1)内存存储、持久化,内存中是断电即失、所以说持久化很重要( rdb、 aof )2)效率高,可以用于高速缓存3)发布订阅系统4)地图信息分析5)计时器、计数器(浏览量!).....2.特性1)多样的数据类型2)持久化3)集群4)事务...3.安装1)官网下载https://redis.io/到本地,放进linux环境(我的是虚拟机)2)解压就行了(一般放到opt目录下)3)安装好gcc,g++,然后使用make命令构建好工程...原创 2021-07-28 23:27:22 · 53 阅读 · 0 评论 -
Redis--1.NoSql
1.概述1)数据库分为sql类型,如MySql和Nosql类型,如Redis2)发展90年代的单机MySql时代这样的问题就是:1、数据量如果太大、一个机器放不下了!2、数据的索引( B+ Tree) , -个机器内存也放不下3、访问量(读写混合) ,一个服务器承受不了~只要开始出现以上的三种情况之一,那么 就必须要晋级!所以到了Memcached (缓存) + MySQL +垂直拆分(读写分离)模式然后到了分库分表+水平拆分+ MySQL集群模式到..原创 2021-07-28 21:40:07 · 50 阅读 · 0 评论