Redis-NoSQL
Redis缓存数据库。
文文鑫
这个作者很懒,什么都没留下…
展开
-
Redis-Redis面试-负载均衡算法、类型
原创 2021-05-26 14:48:04 · 290 阅读 · 0 评论 -
Redis-Redis面试-CAP理论+BASE理论
CAP理论C:一致性A:系统高可用P:分区容错性,比如现在系统的一个或者几个机器宕机了,剩下的机器还能够正常运转满足系统需求BASE理论BA:基本可用S:软状态的,无连接的,数据同步运行一定的延迟E:最终一致性...原创 2021-05-26 14:42:09 · 196 阅读 · 0 评论 -
Redis-Redis面试-Redis主从复制的核心原理
Redis主从复制的核心原理过程原理原创 2021-05-26 14:31:37 · 160 阅读 · 0 评论 -
Redis-Redis面试-Redis集群方案
1.主从模式2.哨兵模式(带故障自动转移的主从模式)3.Redis Cluster模式(槽的概念、服务端)4.Redis Sharding(客户端)原创 2021-05-26 14:21:33 · 62 阅读 · 0 评论 -
Redis-Redis面试-为什么单线程性能还这么高?
单线程+IO多路复用原创 2021-05-26 13:57:05 · 63 阅读 · 0 评论 -
Redis-Redis面试-Redis的过期键的删除策略
原创 2021-05-26 13:50:20 · 43 阅读 · 0 评论 -
Redis-Redis常见面试问题
本文的面试题如下:Redis 持久化机制缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题热点数据和冷数据是什么Memcache与Redis的区别都有哪些?单线程的redis为什么这么快redis的数据类型,以及每种数据类型的使用场景,Redis 内部结构redis的过期策略以及内存淘汰机制【~】Redis 为什么是单线程的,优点如何解决redis的并发竞争key问题Redis 集群方案应该怎么做?都有哪些方案?有没有尝试进行多机redis 的部署?如何保证数据一致的?对于大量的转载 2021-05-22 08:24:17 · 87 阅读 · 0 评论 -
Redis-redis应用问题(缓存穿透+缓存击穿+缓存雪崩+解决方案)
1.缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为id为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导致数据库压力过大。解决方案:有很多种方法可以有效地解决缓存穿透问原创 2021-05-19 18:52:00 · 73 阅读 · 0 评论 -
Redis-Redis持久化(AOF)
AOF:Append Only File,日志追加持久化AOF持久化流程RDB默认开启,AOF默认不开启!开启AOF:文件名称:AOF和RDB同时开启,redis听谁的?????AOF启动/修复/恢复重写压缩原创 2021-05-19 18:36:09 · 61 阅读 · 0 评论 -
Redis-Redis持久化机制(RDB持久化)
RDB持久化:快照持久化,日志文件:dump.rdb。在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话将的Snapshot快照,它恢复是将快照文件直接读到内存里。RDB的缺点是最后一次持久化后的数据可能丢失:因为到持久化一部分,redis突然挂掉。剩下的数据就会丢失。优点:缺点:...原创 2021-05-19 18:06:16 · 79 阅读 · 0 评论 -
Redis-Redis6-事务和锁机制-事务冲突问题(悲观锁,乐观锁)
悲观锁:每次操作之前先上锁,,操作过程中别人不能操作,操作完成之后解锁,别才可以使用缺点:效率低乐观锁:增加一个版本号做控制,每次操作之前先判断版本号是否一致优点:适用于多度应用类型(如:抢票),提高吞吐量Redis事务3大特性:不是mysql中的ACID...原创 2021-05-19 17:21:03 · 187 阅读 · 0 评论 -
Redis-Redis6事务和锁机制基本操作
Redis 事务的本质是一组命令的集合。事务支持一次执行多个命令,一个事务中所有命令都会被序列化。在事务执行过程,会按照顺序串行化执行队列中的命令,其他客户端提交的命令请求不会插入到事务执行命令序列中。**总结说:redis事务就是一次性、顺序性、排他性的执行一个队列中的一系列命令。 Multi类似于mysql中事务开启,discard类似事务回滚Multi: 事务开启,组队阶段Exec: 执行阶段discard:放弃组队,不在执行事务的错误处理1.组队中某个命令出现了报告错原创 2021-05-19 16:57:55 · 77 阅读 · 0 评论 -
Redis-SpringBoot整合redis
1.创建Springboot项目2.引入相关依赖 <!-- redis--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency&原创 2021-05-14 15:45:36 · 191 阅读 · 2 评论 -
Redis-Jedis案例(模拟手机验证码功能)
1.基本要求2.功能分析3.完整代码package com.redis.jedis;import redis.clients.jedis.Jedis;import java.util.Random;//手机验证码模拟public class phoneCode { public static void main(String[] args) {// //验证是否成功生成验证码// String code1 = getCode();//原创 2021-05-14 14:25:18 · 221 阅读 · 0 评论 -
Redis-Redis6使用jedis连接redis(用java操作Redis)
1.原理与jdbc相似,使用java操作Redis,代替命令行的方式2.引入相关依赖 <dependencies> <dependency> <groupId>com.github.fuwanguo</groupId> <artifactId>jedis.migu</artifactId> <version>2.8.2</原创 2021-05-14 13:03:58 · 778 阅读 · 0 评论 -
Redis-Redis6新数据类型Geospatial
原创 2021-05-13 22:02:04 · 144 阅读 · 0 评论 -
Redis-Redis6-新数据类型HyperLogLog
总结:HypeLogLog用作基数处理,包括数据去重、统计、合并…原创 2021-05-07 11:16:49 · 81 阅读 · 0 评论 -
Redis-Redis6-新数据类型Bitmaps
注:Bitmaps本身不是一个字符类型,它是一个字符串,专门用来进行位操作,能极大减少内存使用空间、提升cpu性能…但是,如果活跃用户量很少的时候,不适合使用Bitmaps,因为基本大部分位数都是0。...原创 2021-05-07 11:03:30 · 156 阅读 · 0 评论 -
Redis-Redis发布和订阅
原创 2021-05-07 10:38:24 · 39 阅读 · 0 评论 -
Redis-redis常用数据类型(有序集合Zset)
原创 2021-04-30 11:04:53 · 78 阅读 · 0 评论 -
Redis-redis常用数据类型Hash
原创 2021-04-30 09:55:54 · 70 阅读 · 0 评论 -
Redis-redis常用数据类型set集合
原创 2021-04-30 09:34:34 · 62 阅读 · 0 评论 -
Redis-redis常用数据类型List
原创 2021-04-28 17:42:51 · 49 阅读 · 0 评论 -
Redis-redis的常见类型操作String
原创 2021-04-28 15:04:37 · 49 阅读 · 0 评论 -
Redis-redis6key建操作
创建key127.0.0.1:6379>set sname wangwu查看所有key127.0.0.1:6379>keys *查看key是否存在(1表示存在、0表示不存在)127.0.0.1:6379> exists sno(integer) 1127.0.0.1:6379> exists s(integer) 0查看key类型127.0.0.1:6379> type snostring删除key(del表示直接删除、unlink表示异步删除)原创 2021-04-28 11:56:12 · 161 阅读 · 0 评论 -
Redis-redis相关介绍(单线程+多路IO复用技术)
6379从何而来原创 2021-04-28 11:00:52 · 112 阅读 · 0 评论 -
Redis-Redis6安装
1.新建Redis目录2.下载安装包:wget http://download.redis.io/releases/redis-6.2.1.tar.gz3.安装gccyum install gcc4.解压Redis6tar -zxvf redis-6.2.1.tar.gz5.进入redis解压目录cd redis-6.2.1/6.先进行make编译make7.安装make install8.前台启动9.前台启动cp redis.conf /etc/redis原创 2021-04-28 10:34:31 · 220 阅读 · 0 评论 -
Redis-SpringBoot集成Spring Data Redis+Redis整合依赖配置搭建环境(StringRedisTemplate)
一,IDEA新建一个spring boot项目二,在pom.xml文件添加相关redis依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>添加相关依赖之后,刷新maven库原创 2020-10-23 00:51:00 · 1121 阅读 · 0 评论 -
Redis-Redis整合mybatis分布式缓存项目面试问题
1. 缓存优化策略MD5算法,就是加密操作,怎样判断aa.txt与bb.txt文件内容是否相同:MD5对文件进行加密操作,如果加密结果相同,则内容相同2. 面试相关概念(1)什么是缓存穿透(缓存击穿)定义:客户端查询了一个数据库中没有的数据记录导致缓存在这种情况下无法利用,称之为缓存穿透mybatis中cache解决了缓存穿透:将数据库中没有查询到的结果也进行缓存。如果后期通过业务模块增加了没有的数据,缓存怎么处理:mybatis只有进行了增删改操作,就会自动清除缓存(2)什么是缓存雪崩原创 2020-10-26 18:12:47 · 126 阅读 · 0 评论 -
Redis-搭建哨兵(Sentinel)架构实现Redis的高可用性
1. 哨兵(Sentinel)机制哨兵机制是Redis的高可用性解决方案:由一个或者多个Sentinel实例组成的Sentinel系统可以监听任意多个主服务器,以及这些主服务器下的所有从服务器,并在被监听的主服务器进入下线状态时,自动将下线服务器属下的某个 从服务器升级为新的主服务器。简单的说,就是带有自动故障转移的主从架构。2. Sentinel架构原理3.搭建哨兵架构新建sentinel目录:[root@Cluster-01 ~]# mkdir sentinel[root@Cluster-原创 2020-10-27 21:46:49 · 275 阅读 · 0 评论 -
Redis-Redis集群
1. 集群原理1- 所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽。2 - 节点的fail是通过集群中超过半数的节点检测失效时才生效。3 - 客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可。4 - redis-cluster把所有的物理节点映射到[0-16383]slot上,cluster 负责维护node<-slpt<->value。2. 集群搭建1.2原创 2020-10-29 00:58:03 · 67 阅读 · 0 评论 -
Redis-Redis主从复制架构
1. Redis主从复制主从复制架构仅仅用来解决数据冗余备份,从节点仅仅用来同步数据(注意当主节点宕机,从节点不能顶上去继续服务,也就是说不支持自动故障转移,要做自动故障转移就要用到哨兵机制)2. 搭建主从复制伪分布结构:Master-主节点 Slave1-从节点1 Slave2-从节点2在/root目录下,创建3个目录,每个目录代表一台机器:[root@Cluster-01 ~]# mkdir master slave1 slave2往每个目录中都放入一个最原始的配置文件:[r原创 2020-10-26 22:22:30 · 110 阅读 · 0 评论 -
Redis-分布式缓存实现
1.什么是缓存(cache)简单定义:就是计算机内存中的一段数据。2.内存中数据的特点1.读写快 2.断电立即丢失3.缓存解决了什么问题?1.提高网站吞吐量,提高网站运行效率。2.核心解决的 问题:减轻原始数据库的访问压力。4.既然缓存能提高效率,那项目中的所有数据加入缓存岂不是更好?注意:使用缓存时一定是数据库中数据极少发生修改,更多用于查询这种情况。5.本地缓存和分布式缓存区别?本地缓存:存在应用服务器内存中数据称之为本地缓存(local cache)。分布式缓存:存储在当前应原创 2020-10-26 02:24:48 · 359 阅读 · 0 评论 -
Redis-只追加日志AOF重写原理
我们知道,Redis持久化机制有RDB快照持久化和只追加日志AOF持久化。AOF持久化可以实现数据的超高安全性,比RDB持久化更能保证数据的安全,达到不丢失1秒间的数据,但是随着Redis的不断运行,长期运行,日志文件会不断变大,甚至高达T级数据集,因此这就涉及到一个AOF重写机制:AOF 持久化是通过保存被执行的写命令来记录数据库状态的,所以AOF文件的大小随着时间的流逝一定会越来越大;影响包括但不限于:对于Redis服务器,计算机的存储压力;AOF还原出数据库状态的时间增加;为了解决AOF文件体积膨原创 2020-10-22 14:36:39 · 362 阅读 · 0 评论 -
Redis-详细了解Redis持久化机制-RDB快照持久化+AOF日志追加持久化
Redis是一个内存型非关系数据库,数据保存在内存中,但是内存的数据变化是很快的,也容易发生丢失。因此Redis为我们提供了持久化的机制,分别是RDB(Redis DataBase)和AOF(Append Only File)。一、RDB机制RDB持久化也叫快照持久化机制,RDB其实就是把数据以快照的形式保存在磁盘上。RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘。也是默认的持久化方式,这种方式是就是将内存中数据以快照的方式写入到二进制文件中,快照方式默认的文件名为 dump.rdb。原创 2020-10-22 13:23:48 · 214 阅读 · 0 评论 -
Redis-Linux环境下安装Redis
摘要:Redis(Remote Dictionary Server )是属于一种NoSql数据库的一种,它属于健/值(key/value)型数据库。Remote Dictionary Server, 即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。接下来,简要介绍如何在CentOS7.4原创 2020-10-22 01:02:22 · 115 阅读 · 0 评论