刷新
分布式锁

博主头像 分布式锁 本文整理自黑马程序员相关资料 问题的引入 在平时单服务的情况下,我们使用互斥锁可以保证同一时刻只有一个线程执行自己的业务。原理是,在JVM内部维护了一个锁监视器,锁监视器保证了同一时刻只有一个线程获取到锁。但是如果开启了多个服务,就会有多个JVM,从而有多个不同的锁监视器,每个锁监视器监视 ...

缓存穿透,缓存雪崩,缓存击穿

博主头像 缓存穿透,缓存雪崩,缓存击穿 本文整理自黑马程序员相关资料 缓存穿透 缓存穿透是指客户端请求的数据在缓存中和数据库中都部存在,这样缓存永远不会生效。因此这些请求都会穿过缓存,最终请求到数据库上,对数据库造成非常大的压力。 常见的解决方案有两种: 缓存空对象:当缓存和数据库都没有请求的数据时,将查询的 ...

Redis缓存更新策略

博主头像 Redis缓存更新策略 本文整理自黑马程序员相关资料 内存淘汰 超时剔除 主动更新 说明 不用自己维护,利用Redis的内存淘汰机制,当内存不足时自动淘汰部分数据。下次查询时更新缓存 给缓存数据添加TTL时间,到期后自动删除缓存,下次查询时更新缓存 编写业务逻辑,在修改数据的同时,更新缓存 一致性 ...

Redis常见使用场景

博主头像 Redis常见使用场景,缓存、数据共享分布式、分布式锁、全局 ID、计数器、限流、位统计、购物车、时间线 Timeline、消息队列、抽奖、点赞、签到、打卡、商品标签、商品筛选、用户关注、推荐模型、排行榜. ...

Redis的Java客户端

博主头像 - Jedis - 优点:以 Redis 命令作为方法名称,学习成本低廉,简单且实用 - 缺点:Jedis 的实例是线程不安全的,在多线程的环境下需要基于线程池来使用 - lettuce(spring 官方默认) - 基于 Netty 实现的,支持同步、异步和响应式编程方式,并且是线程安... ...

Redis概述及基本数据结构

博主头像 redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交... ...

MongoDB 学习笔记

博主头像 概述 MongoDB 是一个介于关系型数据库和非关系型数据库之间的产品,是非关系型数据库中功能最丰富,最像关系型数据库的。 MongoDB 支持的数据结构非常松散,类似 json 的 bson 格式,因此可以存储比较复杂的数据类型。MongoDB 最大的特点是支持的查询语言非常强大,语法类似于面向对 ...

SpringDataRedis序列化的一些问题

博主头像 SpringDataRedis的序列化的一些问题 RedisTemplate可以接收任意Object作为值写入Redis,但是如果不实现设置序列化器的化默认是采用JDK序列化,序列化后的结果可读性差并且内存占用空间大,如下图。 自定义RedisTemplate的序列化方式 key和 hashKey采 ...

为什么列式存储会被广泛用在 OLAP 中?

博主头像 大家好,我是大D。 不知是否有小伙伴们疑问,为什么列式存储会广泛地应用在 OLAP 领域,和行式存储相比,它的优势在哪里?今天我们一起来对比下这两种存储方式的差别。 其实,列式存储并不是一项新技术,最早可以追溯到 1983 年的论文 Cantor。然而,受限于早期的硬件条件和应用场景,传统的事务型数 ...

Redis学习笔记

博主头像 Redis 参考博客 https://www.cnblogs.com/beiluowuzheng/ https://www.cnblogs.com/hunternet/ 如有侵权,请联系我删除,谢谢! 目录 一、什么是redis 二、数据结构 1.1 SDS,简单动态字符串 1.1.1 SDS底层结 ...

Redis设计与实现3.1:主从复制

博主头像 主从复制 这是《Redis设计与实现》系列的文章,系列导航:Redis设计与实现笔记 SLAVEOF 新旧复制功能 旧版复制功能 旧版复制功能的实现为 同步 和 命令传播: 当刚连上Master时,要做一次全同步: sequenceDiagram participant Slave particip ...

Redis缓存相关的几个问题

博主头像 1 缓存穿透 问题描述 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,进而给数据库带来压力。 解决方案 缓存空值,即对于不存在的数据,在缓存中放置一个空对象(注意,设置过期时间) 2 缓存击穿 问 ...

《Redis设计与实现》

博主头像 由浅到深,逐步讲解Redis 本书主要分为四大部分。 第一部分"数据结构与对象": 介绍了Redis中的各种对象及其数据结构,并说明这些数据结构如何影响对象的功能和性能。 第二部分"单机数据库的实现": 对Redis实现单机数据库的方法进行了介绍,包括数据库、RDB持久化、AOF持久化、事件等。 第 ...

redis服务器

这一次主要讲下redis中服务器这个结构体相关代码,主要从是代码层面进行讲解 redis服务器 redis服务器结构体主要代码在redis.h/redisServer,下面给出该结构体源码,可以看到源码中对该结构体定义很长,这一节我们一点点分析,当然有些地方可能我也理解不到位hhh // redis ...

Redis持久化

博主头像 Redis 是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出,服务器中的数据库状态也会消失。所以Redis 提供了持久化功能! RDB(Redis DataBase) 什么是RDB 在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时 ...

redis集群搭建 Installing Redis Cluster

简介: Redis的集群模式实现了数据的分布式存储,每个节点存储不同的数据,实现数据动态扩容。 优点:无中心节点架构,数据按照slot分布在多个节点上 缺点:不支持多数据库 1、安装包准备 1、redis-4.0.1.tar.gz redis源文件 下载地址:https://download.red ...

Redis笔记总结(狂神说)

博主头像 Redis最新超详细版教程通俗易懂 一、Nosql概述 为什么使用Nosql 1、单机Mysql时代 90年代,一个网站的访问量一般不会太大,单个数据库完全够用。随着用户增多,网站出现以下问题 数据量增加到一定程度,单机数据库就放不下了 数据的索引(B+ Tree),一个机器内存也存放不下 访问量变 ...

123···6>