缓存springboot ehcache redis
springboot项目图片不显示的问题
首先确认你的图片路径是对的 那么大概率就是浏览器缓存的原因,因为页面直接用的是缓存的旧数据,所以显示不出来。 再不修改浏览器设置的情况下,最简单的办法就是直接项目在pom.xml文件里引入devtools 如下: <dependency> <groupId>org.springframework.b ......
解决在创建springboot项目中遇到:Error:(3, 32) java: 无法访问org.springframework.boot.SpringApplication
解决在创建springboot项目中遇到:Error:(3, 32) java: 无法访问org.springframework.boot.SpringApplication ......
LRU缓存替换策略及C#实现
目录 LRU缓存替换策略 核心思想 不适用场景 算法基本实现 算法优化 进一步优化 Benchmark LRU缓存替换策略 缓存是一种非常常见的设计,通过将数据缓存到访问速度更快的存储设备中,来提高数据的访问速度,如内存、CPU缓存、硬盘缓存等。 但与缓存的高速相对的是,缓存的成本较高,因此容量往往 ......
SpringBoot启动流程
启动类 @SpringBootApplication public class App { public static void main(String[] args) { SpringApplication.run(App.class,args); } } @SpringBootApplicati ......
Redis内存容量评估
业务侧申请redis服务器资源时,需要事先对redis容量做一个大致评估,之前的容量评估公式基本只是简单的 (key长度 value长度)* key个数,误差较大,后期经常需要进行缩扩容调整,因此提出一个较精确的redis容量评估模型就显得很有必要。 先来查看一个命令: info memory us ......
MongoDB 与 Redis 的比较
MongoDB 和 Redis 都是流行的 NoSQL 数据库系统,但它们的应用场景和特点不同,主要体现在以下几个方面: 1.数据类型:MongoDB 是面向文档的数据库系统,支持复杂的数据类型,如嵌套文档、数组等;Redis 则是一个基于内存的键值数据库系统,支持字符串、哈希表、列表、集合等简单数 ......
Springboot整合Seata实现分布式事务
前言 Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。 Seata 配置非常灵活,支持多种注册中心、配置来源(配置中心)和持久化方式。本文选择 eurek ......
Springboot整合TX-LCN实现分布式事务
前言 TX-LCN 是一款国产分布式事务协调框架,框架其本身并不操作事务,而是基于对事务的协调从而达到事务一致性的效果。 本文讲解如何使用 Springboot 作为基础,来配置使用 TX-LCN。 需要 MySQL 和 Redis。 名词解释 TM (Tx-Manager / Transactio ......
Springboot整合Apollo配置中心
前言 参考这一篇 在Linux部署Apollo配置中心 可以搭建出一套Apollo配置中心服务,我们在这里重点看看Springboot如何整合Apollo,将配置交给配置中心管理,并在修改后及时生效到服务上。 我们模拟工作中的开发(development,DEV)和生产(production,PRO ......
Redis 在消息队列中的应用
1.Redis 的 List 数据类型 1.1 List 数据类型的特点 List 列表是 Redis 提供的一种重要的数据类型。它是由若干个字符串元素组成的集合,并且每个字符串元素都是按照插入顺序排序的。也可以将列表理解为多个字符串组成的一个集合对象,并按照链表(Link List)的插入顺序排序 ......
Springboot+ElasticJob-Lite实现集群任务调度
前言 ElasticJob-Lite是集群环境下应用(比如SpringCloud微服务)任务调度的解决方案。 集群部署的时候,一个定时任务会有多个进程执行,如果不进行任何处理,会导致任务触发的时候每个进程重复执行一次。 解决办法有两种:一种是加锁,保证同时只有一个进程执行任务,比如用分布式锁,或者用 ......
redis主从同步、哨兵自动故障迁移具体过程解析
前言 本问阐述 Redis 主从同步、哨兵监控和故障迁移的过程,并通过各个服务日志加以验证。 准备工作 主从和哨兵安装见 安装过程。 为了方便通过日志观察同步过程,你可以在每个 Redis 和 Sentinel 配置文件中修改下面参数,实现前台运行并将日志输出到控制台。 # 这两个配置是为了实现前台 ......
RedisTemplate Pipeline 封装和使用,优化Redis操作
前言 公司游戏项目服务端运行过程中,依赖 Redis 保存游戏过程数据。与客户端一次交互会对 Redis 进行大量的操作,在内网开发环境下测试,一次操作开销在 1-2 ms,建立连接和网络开销累积在一起大大降低了响应速度,这种场景下可以使用 Redis Pipeline 进行优化。 Redis Pi ......
Redis各种数据分片方式应用场景以及优缺点
前言 数据分片是指将数据按某种方式存储到不同的服务上来解决单机服务容量不足的问题。 本文围绕 Redis 讲述逻辑拆分、随机分配、哈希取模、一致性哈希等分片算法原理和使用场景。并在此基础上对比客户端分片、代理(Proxy) 和 Redis Cluster 各自的优缺点。 客户端分片 三种普通方式 逻 ......
Redis 在排行榜中的应用
1.Redis 的 Sorted Set 数据类型 1.1 Sorted Set 数据类型的特点 Sorted Set 有序集合是 Redis 提供的一种重要的数据类型。它是由不重复且有序的字符串元素组成的,而且每个元素都会关联一个 double 类型的分数,通过该分数来为集合中的成员进行从小到大的 ......
Redis持久化RDB和AOF原理解析、使用和优缺点对比
前言 本文讲述 Redis 两种持久化方式 RDB 和 AOF 优缺点以及原理。 为何需要持久化? Redis 是基于内存操作的,进程终止、服务器宕机后内存数据会丢失,但是在很多使用场景中我们希望数据不丢失,服务重启之后数据还能恢复到停机前的状态,特别是使用 Redis 做数据库的情况。 Redis ......
Redis布隆过滤器的原理和安装使用
前言 本文讲述布隆过滤器 (RedisBloom) 的基本原理和安装使用。 RedisBloom是什么? RedisBloom 是 Redis 中过滤器模块,可以用来判断值是否存在,常用来解决缓存穿透问题。 查询数据时,先用 RedisBloom 判断数据是否存在,不存在则直接返回,存在则从缓存 / ......
Redis 在身份认证中的应用
1.Redis 在 Session 共享问题中的应用 传统 Session-Cookeis 身份认证方法中,一个 Session 只保存在一台服务器上,适合域单体应用。随着项目规模的增加,项目的架构也不断向微服务分布式集群演进,传统的 Session-Cookie 方式在集群环境下就不能很好的工作了 ......
2021-12-30-Docker启动MySQL、MongoDB、Redis、Elasticsearch、Grafana,数据库
layout: post cid: 5 title: Docker启动MySQL、MongoDB、Redis、Elasticsearch、Grafana,数据库 slug: 5 date: 2021/12/30 16:57:00 updated: 2022/03/25 15:53:08 status ......
LRU缓存替换策略及C#实现
LRU缓存替换策略 缓存是一种非常常见的设计,通过将数据缓存到访问速度更快的存储设备中,来提高数据的访问速度,如内存、CPU缓存、硬盘缓存等。 但与缓存的高速相对的是,缓存的成本较高,因此容量往往是有限的,当缓存满了之后,就需要一种策略来决定将哪些数据移除出缓存,以腾出空间来存储新的数据。 这样的策 ......
Redis 缓存机制
1.Redis 缓存 缓存(cache),原始意义是指访问速度比一般随机存取存储器(RAM)快的一种高速存储器,通常它不像系统主存那样使用 DRAM 技术,而使用昂贵但较快速的 SRAM 技术。缓存的设置是所有现代计算机系统发挥高性能的重要因素之一。 Redis 因读写性能较高,它非常适合作为存贮数 ......
基于SpringBoot+Vue+ElementUI的在线考试系统(可做毕设)
青云是一套麻雀虽小但五脏俱全的在线考试系统。
采用了目前主流的技术栈SpringBoot+Vue+ElementUI,并进行了前后端分离。
对于事务和锁都有应用,非常适合学习练手。 ......
在Linux部署Redis主从和哨兵集群实现高可用
前言 本文主要讲述在 Linux 系统中配置和部署 Redis 主从集群和哨兵,实现高可用和自动故障迁移。 准备工作 参考 Redis 单机部署 安装 3 个 Redis 服务作一主二从,本文准备了 6380(主)、6381(从) 和 6382(从)。 参考 Redis 单机部署 安装 3 个 Re ......
在Linux部署Redis代理Twemproxy实现数据分片
前言 本文主要讲述 Redis 代理 Twemproxy 安装过程。 Twemproxy 是推特开源用于 Memcached 和 Redis 的轻量级代理。这里以0.5.0版本为例。 我们可以通过取模、随机、一致性哈希等算法将数据分散在多个 Redis 服务来实现水平扩展。但是客户端直连就需要跟每个 ......
在Linux部署Redis Cluster集群
前言 本文讲述在 Linux 系统部署 Redis Cluster 实现数据分片的具体步骤。 请参考 Redis 单机部署 下载编译。 Redis Cluster是什么? Redis Cluster 是官方提供的一种用数据分片来实现横向扩容的解决方案,由一个或多个 Redis 服务组成一个无主集群。 ......
在Linux部署Redis代理Predixy实现数据分片
前言 本文以predixy-1.0.5为例,讲述 Redis 代理 Predixy 安装过程。 Predixy 是一款高性能全特征 Redis 代理,支持 Redis-sentinel 和 Redis-cluster。作者拿其它常用代理做了 性能测评,Predixy 在各个维度性能都是最优的,与其他 ......
Redis——(主从复制、哨兵模式、集群)的部署及搭建
重点: 主从复制:主从复制是高可用redis的基础,主从复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复。 哨兵和集群都是在主从复制基础上实现高可用的。 缺点:故障恢复无法自动化,写操作无法负载均衡,存储能力受到单机的限制。 哨兵:在主从复制的基础上,哨兵实现了自动化的故障恢复 ......
在Linux部署单机Redis完整过程
前言 本文以redis-6.2.5为例,讲述在 Linux 系统下单机 Redis 下载、编译、打包、安装为服务、启动和访问的整个过程。 安装环境为 Linux CentOS 64,本文用的 7.5 版本. 下载编译目录在当前目录soft/redis下,最终服务可执行程序在/opt/soft/red ......
Redis系列12:Redis 的事务机制
Redis系列1:深刻理解高性能Redis的本质 Redis系列2:数据持久化提高可用性 Redis系列3:高可用之主从架构 Redis系列4:高可用之Sentinel(哨兵模式) Redis系列5:深入分析Cluster 集群模式 追求性能极致:Redis6.0的多线程模型 追求性能极致:客户端缓 ......
Redis 的 Java 客户端
实际项目中,需要通过编程语言去访问并操作 Redis。Redis 官方提供了多种语言的客户端,具体可访问以下地址:https://redis.io/clients Java 语言访问 Redis,常用的 API 包括: (1)Jedis:一个很小但很健全的 redis 的 java 客户端,通过 J ......