蔚.蓝
这个作者很懒,什么都没留下…
展开
-
图解JVM
JVM:Java虚拟机,可以存储代码以及在运行是可以动态调用一些指令的项目集。 JDK:Java运行时所依赖的环境,[jar包、类]。 JVM的作用:负责将.class文件解释成机器能够识别的机器码。 JVM的位置:在操作系统之上,介于应用与系统之间。 机器码:能够直接被硬件识别,并且直接可一运行的一种编码方式。 字节码(中间码): 以字节为单位的二进制存储代码。 编译器:将源代码(.java)文件===》字节码文件(.class) 解释器:将字节码文件(.class) ===原创 2023-02-25 10:19:27 · 491 阅读 · 0 评论 -
Redis与MySQL数据库缓存一致性解决方式
- 缓存延时双删- 删除缓存重试机制- 读取biglog异步删除缓存- 失效模式- 双写模式原创 2023-02-22 14:54:46 · 311 阅读 · 0 评论 -
Redis高可用集群方案
在生产过程中,Redis不一定会单独部署。因为一旦redis服务因为某些原因导致无法提供数,那么redis就不可用了。那么实现redis高可用的方式就是搭建多个redis服务。从而形成集群。即便是某个redis服务宕机,其它服务也能够提供数据。redis搭建集群有三种模式 **主从复制、哨兵模式、Cluster集群**原创 2023-02-21 16:10:17 · 447 阅读 · 0 评论 -
Redis过期策略+数据淘汰策略
在回答词问题之前,首先需要回答另一个问题,就是如何设置 Redis 中数据的过期时间?1)expire key time (以秒为单位)–这是最常用的方式2)setex(String key, int seconds, String value) --字符串独有的方式除了字符串自己独有设置过期时间的方法外,其他方法都需要依靠 expire 方法来设置时间,如果没有设置时间,那缓存就是永不过期。 如果设置了过期时间,使用 persist key 让缓存永不过期。原创 2023-02-20 20:02:21 · 243 阅读 · 0 评论 -
Redis单点故障+红锁原理
单台redis容易出单点故障采用集群,获取到锁之后数据持久化到rdb,aof文件中从节点有可能在从主节点拿到数据之前,主节点就已经挂了,sentinel哨兵机制把从节点选为主节点,此时数据还没有拉取到新的主节点上,新主节点还不知道已经有线程拿到了锁,此时就有两个线程获取到了锁,分布式锁就失效了。原创 2023-02-17 08:24:26 · 661 阅读 · 0 评论 -
redis分布式锁的演变过程
在我们的日常开发中,一个进程中当多线程的去竞争某一资源的时候,我们通常会用一把锁来保证只有一个线程获取到资源。如加上synchronize关键字或ReentrantLock锁等操作。那么,如果是多个进程相互竞争一个资源,如何保证资源只会被一个操作者持有呢?例如:微服务的架构下,多个应用服务要同时对同一条数据做修改,那么要确保数据的正确性,就只能有一个应用修改成功。原创 2023-02-15 18:49:53 · 3488 阅读 · 0 评论 -
Redis缓存穿透、击穿、雪崩
当缓存中没有数据,就会去数据库中进行查找。当数据库中也没有数据,就不会将数据缓存到redis中。这就会导致每次请求都要到数据库中查询,导致数据库访问压力增大。原创 2023-02-13 09:01:14 · 182 阅读 · 0 评论 -
Redis为什么这么快?
虚拟内存机制就是暂时把不经常访问的数据(冷数据)从内存交换到磁盘中,从而腾出宝贵的内存空间用于其它需要访问的数据(热数据)。字典实际上就是哈希表,在redis中大部分数据存储都使用到了哈希表的结构。在java中的hashMap也使用字典数据结构。在MySQL数据库中,所有的读写操作都要通过IO的方式从硬盘中获取。在Redis中,所有的操作都是基于内存实现的,从而减少IO操作提高数据库性能。edis直接自己构建了VM机制 ,不会像一般的系统会调用系统函数处理,会浪费一定的时间去移动和请求。原创 2023-02-10 20:14:03 · 4196 阅读 · 1 评论 -
谈一谈Redis的数据结构类型
Redis,英文全称是Remote Dictionary Server(远程字典服务),是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。与MySQL数据库不同的是,Redis的数据是存在内存中的。它的读写速度非常快,每秒可以处理超过10万次读写操作。因此redis被广泛应用于缓存,另外,Redis也经常用来做分布式锁。除此之外,Redis支持事务、持久化、LUA 脚本、LRU 驱动事件、多种集群方案。原创 2023-02-09 16:06:56 · 310 阅读 · 0 评论 -
Redis高级-分布式锁的演变过程
分布式锁,即分布式系统中的锁。在单体应用中我们通过锁解决的是控制共享资源访问的问题,而分布式锁,就是解决了分布式系统中控制共享资源访问的问题。与单体应用不同的是,分布式系统中竞争共享资源的最小粒度从线程升级成了进程。原创 2023-01-30 18:25:46 · 290 阅读 · 0 评论