NoSQL
文章平均质量分 69
茂桑
热爱学习,B站大学生,努力奋斗
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Redis的哨兵集群、分片集群
Redis有三种集群模式,分别是主从模式、哨兵集群、分片集群主从模式上文已经讲过了,这篇文章记录一下哨兵模式和分片模式。原创 2025-02-15 18:50:20 · 1213 阅读 · 0 评论 -
Redis主从同步的原理
单节点Redis的并发能力是有上限的,要进一步提高redis的并发能力,就需要搭建主从集群,实现读写分离。一般都是一主多从,主节点负责写数据,从节点负责读数据主从同步有两种同步:1、全量同步:指的是,从节点因为宕机,重启,或新增的从节点等需要从主节点同步全量数据的同步场景2、增量同步:指的是,从节点定时从主节点获取过去一段时间内写入的数据。原创 2025-02-15 17:22:02 · 429 阅读 · 0 评论 -
Redis实现分布式锁
1、如果你公司的业务,各个应用都只部署了一台机器,那么完全用不着分布式锁,直接使用Java的锁即可2、可是当你们的业务量大,多台机器并发情况下争夺一个资源的时候,就必须要保证业务的原子性了。举例:例子1、超卖问题:一共100个商品待抢购,当还有最后一个库存的时候,实例1,2,3.....10都查询到还有库存,用户同时都下单成功;那么就出现了超卖问题:你一共100的库存,哪来的110个商品发货?怎么解决呢?原创 2025-02-12 22:41:10 · 736 阅读 · 0 评论 -
Redis的数据过期策略和数据淘汰策略
(Least Recently Used):Least(最少的)Recently(最近)原创 2025-02-09 21:55:27 · 1292 阅读 · 1 评论 -
Redis持久化的两种方式:RDB和AOF
redis中的数据存储在缓存中,如果没有持久化的策略,Redis一旦宕机,那么将会导致数据丢失;因此redis提供了以下两种持久化方式:RDB和AOF一般来说,大部分公司对这两种方式都是同时开启的。原创 2025-02-09 20:53:13 · 802 阅读 · 0 评论 -
Redis双写一致性(数据库与redis数据一致性)
当修改了数据库(MySQL)中的数据,也要同时更新缓存(redis)中的数据,缓存中的数据要和数据库中的数据保持一致双写一致性,根据业务对时间上的要求,可以分为三种情况:1、延时双删:较为准时的一致性,Redis中的数据和MySQL较为准时的一致,不会超过很长的时间2、redissson锁:保证强一致性;准时3、异步写入redis:如果业务允许短暂时间内redis与MySQL数据库中数据的不一致,但是保持最终一致的情况;原创 2025-02-07 23:36:23 · 1503 阅读 · 1 评论 -
Redis缓存穿透、击穿、雪崩介绍以及解决方案
缓存穿透当给某一个热点数据,设置了过期时间,当key过期时,恰好这段时间有大量的并发请求进来,那么可能会把数据库压垮疑问:key过期了,Redis中查询不到,会去数据库查询,查询完成后不是又会写入redis中吗?为什么会导致大量请求到数据库呢?解答:查询数据库并写入redis也是需要时间的,有些写入redis的结果集,是需要多表查询的结果,比如需要50ms的,甚至几秒钟才能从数据库查询出来的,那么这段时间就太长了。原创 2025-02-06 00:10:14 · 1428 阅读 · 0 评论 -
SpringBoot整合Redis和自定义RedisTemplate、RedisUtil和中文乱码解决
SpringBoot操作数据库:Spring Data jpa jdbc mongodb redisSpring Data也是和SpringBoot齐名的项目!说明:在SpringBoot2.x之后,原来使用的jedis被替换成了lettuce(莴苣)从我们导入的pom文件中去看:可以看到,底层还是spring data的redis,下面的是lettuce包为什么要替换呢?jedis:采用的是直连的方式,多个线程操作的话,是不安全的,要解决不安全的问题,需要采用jedis pool线程池。BI原创 2022-07-09 23:16:53 · 1387 阅读 · 0 评论 -
Jedis的了解和使用、Jedis使用Redis事务
我们要使用java来操作redis什么是Jedis 是Redis官方推荐的java连接开发工具!使用Java操作Redis 中间件!(就是一个jar包)如果你要使用java操作redis,那么一定要对Jedis十分的熟悉!1、导入对应的依赖2、编码测试输出:说明连接成功jedis所有方法和redis里的所有命令一模一样,没有任何改变,在redis上能操作的,使用jedis同样可以操作执行结果:string的其他方法:执行结果:执行结果:执行结果:也是一样,在linux上执行的命令原创 2022-07-09 17:33:10 · 14937 阅读 · 0 评论 -
Redis基本的事务操作multi开启-exec执行-discard取消,和Redis的乐观锁
Redis事务本质:一组命令的集合!一个事务中的所有命令都会被序列化,在事务执行过程的中,会按照顺序执行!一次性、顺序性、排他性!执行一系列的命令!Redis事务没有隔离级别的概念所有的命令在事务中,并没有直接被执行!只有发起执行命令的时候才会执行! execRedis单条命令式保存原子性的,但是事务不保证原子性!Redis的事务:1、开启事务(multi)2、命令入队(…)3、执行事务(exec)每次事务执行之后,就结束了,再要用的时候要再multi开启事务由此可以看出re原创 2022-07-08 15:05:15 · 851 阅读 · 0 评论 -
Redis基本数据类型:Map和Zset
redis命令不区分大小写redis中的hash就是一个map集合,hash所有命令以h开头只不过不是简单的key-value,而是key-map!这时候的值就是个map集合key-field-value,一个key里面放了多个map本质和string类型没有太大区别,还是一个简单的key-valuehash变更的数据user name age,尤其是是用户信息之类的,经常变动的信息!hash更适合对象的存储,string更适合字符串的存储Zset(sorted set:有序集合)zset就原创 2022-07-07 22:10:40 · 2371 阅读 · 0 评论 -
Redis基本数据类型:List和Set
基本数据类型:List列表在redis里面,我们可以把list玩成,栈、队列、阻塞队列!redis所有的list命令都是用l开头的list是可以存放重复值的1、他实际上是一个链表,before Node after , left , right都可以插入值2、如果key不存在,创建新的链表3、如果key存在,新增内容4、如果移除了所有值,空链表,也代表不存在!5、在两边插入或者改动值,效率最高!中间元素,相对来说效率会低一点~消息排队!消息队列( Lpush Rpop ) ,栈( Lpus原创 2022-07-05 22:08:17 · 1920 阅读 · 0 评论 -
Redis-key的基本命令和Redis最常用的数据类型:String
Redis有5大数据类型:string,set,hash,list,zset。三大特殊数据类型:bitmaps位图、hyperloglog基数统计 和 geospatial 地理空间Redis是一个开源(BSD许可)的,基于内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件MQ。它支持多种类型的数据结构,如字符串( strings ),散列 ( hashes ),列表( lists ),集合( sets ),有序集合( sorted sets)与范围查询,bitmaps,hyperloglog原创 2022-07-05 16:17:50 · 319 阅读 · 0 评论 -
Redis基础知识:redis有16个数据库、redis是单线程的!
核心: redis是将所有的数据全部放在内存中的,所以说使用单线程去操作效率就是最高的,多线程(CPU上下文会切换︰这也是耗时的操作!),对于内存系统来说,如果没有上下文切换,单线程效率就是最高的!明白Redis是很快的,官方表示,Redis是基于内存操作,CPU不是Redis性能瓶颈,Redis的瓶颈是根据机器的内存和网络带宽,既然可以使用单线程来实现,就使用单线程了!Redis是C语言写的,官方提供的数据为100000+的QPS(每秒查询率),完全不比同样是使用key-vale的Memecache差!原创 2022-06-28 22:13:49 · 6124 阅读 · 0 评论 -
Redis性能测试:redis-benchmark
使用Redis自带的redis-benchmark性能测试工具来进行Redis的性能测试:启动Redis,第一步,进入到redis的服务服务端和客户端的文件下,可以看到一个redis-benchmark的工具,接下来我们使用这个工具进行测试第二步,使用命令,进行测试,下面是redis-benchmark性能测试工具的可选参数:命令规则:例如:意思是:测试本机的6379端口,每次100个并发,每个并发向Redis发出1万个请求看部分测试结果(阿里云服务器,2G):set请求的结果:这个性能原创 2022-06-28 20:58:03 · 1022 阅读 · 0 评论 -
Linux与Windows安装Redis
1、官网2、中文网3、推荐使用:官网下载地址然后,移到/opt目录下:解压得到:进入解压后的文件可以看到Redis的配置文件:使用然后使用make命令,下载所有需要的文件,这一步需要一点时间,大概三分钟make完还可以再make一下,查看一下信息再进行make install一下,可以看到安装好没有至此,就和Windows中安装一样了使用vim编辑器,进行编辑(vim编辑器,Linux自带,不需要安装)向下滑(向下的键),可以看到redis的一些默认配置默认地址默认受保护的原创 2022-06-27 23:00:53 · 429 阅读 · 0 评论 -
Redis入门
Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。免费和开源!是当下最热门]的NoSQL技术之一! 也被人们称之为结构化数据库!1、内存存储持久化,内存中是断电即失、所以说持久化很重要( rdb. aof )2、效率高原创 2022-06-26 23:27:55 · 302 阅读 · 0 评论 -
什么是NoSQL及NoSQL四大分类
NoSQL = Not Only SQL (不仅仅是SQL )关系型数据库:表格,行,列泛指非关系型数据库的,随着web2.0互联网的诞生!传统的关系型数据库很难对付web2.0时代!尤其是超大规模的高并发的社区!暴露出来很多难以克服的问题, NoSQL在当今大数据环境下发展的十分迅速, Redis是发展最快的,而且是我们当下必须要掌握的一个技术!很多的数据类型:用户的个人信息,社交网络,地理位置。这些数据类型的存储不需要一个固定的格式(行,列存储) !不需要多余的操作就可以横向扩展的!解耦!1、方便扩原创 2022-06-26 22:53:43 · 8329 阅读 · 2 评论 -
为什么要用NoSQL
90年代,一个基本的网站访问量一般不会太大,单个数据库完全足够!那个时候,更多的去使用静态网页Html ~服务器根本没有太大的压力!思考一下,这种情况下:整个网站的瓶颈是什么?1、数据量如果太大、一个机器放不下了!2、数据的索引( B+ Tree) , 一个机器内存也放不下,超过300万条数据就一定要用索引,不然太慢了3、访问量(读写混合) , 一个服务器承受不了只要你开始出现以上的三种情况之一,那么你就必须要晋级 !网站80%的情况都是在读,每次都要去查询数据库的话就十分的麻烦!所以说我们希望原创 2022-06-26 22:22:29 · 699 阅读 · 0 评论
分享