spring redis cache
spring事务
步骤; 1.在要开事务的方法上面加一个@Transactional 2.设置事务管理器: 3.在config里enable一下事务管理,写个@EnableTransactionManagement 角色: spring事务相关配置: ......
spring boot 极简案例
安装idea File -> New Project 选择依赖 创建controller文件 输入controller类名 输入代码 运行项目 访问 localhost:8080/hello/boot package com.example.demo; import org.springframew ......
Spring框架学习
一、第一部分:SpringIoC & DI 1. Spring概述 1.1 Spring是什么 (1)Spring 是分层的 Java SE/EE 应用 full-stack 轻量级开源框架; (2)Spring 以 IoC 和 AOP 为内核; Inverse Of Control:反转控制 As ......
Redis内存容量评估
业务侧申请redis服务器资源时,需要事先对redis容量做一个大致评估,之前的容量评估公式基本只是简单的 (key长度 value长度)* key个数,误差较大,后期经常需要进行缩扩容调整,因此提出一个较精确的redis容量评估模型就显得很有必要。 先来查看一个命令: info memory us ......
MongoDB 与 Redis 的比较
MongoDB 和 Redis 都是流行的 NoSQL 数据库系统,但它们的应用场景和特点不同,主要体现在以下几个方面: 1.数据类型:MongoDB 是面向文档的数据库系统,支持复杂的数据类型,如嵌套文档、数组等;Redis 则是一个基于内存的键值数据库系统,支持字符串、哈希表、列表、集合等简单数 ......
设计模式(三十二)----综合应用-自定义Spring框架-自定义Spring IOC-自定义Spring IOC总结
1 自定义Spring IOC总结 1.1 使用到的设计模式 工厂模式。这个使用工厂模式 + 配置文件的方式。 单例模式。Spring IOC管理的bean对象都是单例的,此处的单例不是通过构造器进行单例的控制的,而是spring框架对每一个bean只创建了一个对象。 模板方法模式。Abstract ......
Redis 在消息队列中的应用
1.Redis 的 List 数据类型 1.1 List 数据类型的特点 List 列表是 Redis 提供的一种重要的数据类型。它是由若干个字符串元素组成的集合,并且每个字符串元素都是按照插入顺序排序的。也可以将列表理解为多个字符串组成的一个集合对象,并按照链表(Link List)的插入顺序排序 ......
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 ......
Redis 缓存机制
1.Redis 缓存 缓存(cache),原始意义是指访问速度比一般随机存取存储器(RAM)快的一种高速存储器,通常它不像系统主存那样使用 DRAM 技术,而使用昂贵但较快速的 SRAM 技术。缓存的设置是所有现代计算机系统发挥高性能的重要因素之一。 Redis 因读写性能较高,它非常适合作为存贮数 ......
在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 在各个维度性能都是最优的,与其他 ......
Spring 源码解析 - xml解析封装BeanDefinition(1)
- XML 解析封装BeanDefinition 断点在 DefaultListableBeanFacy, registerBeanDefinition() 二 如果给属性赋值 三 各种postprocessor ## 2、Spring套路点 - 1、AbstractBeanDefinition 看 ......
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 ......
JAVA Spring Boot与海康威视摄像头的故事
前言:JAVA Spring Boot与海康威视摄像头的故事 这两天因工作原因,需要对海康威视摄像头进行二次开发。说实话,刚打开开发手册的那一刻,很劝退。由于之前接触硬件开发不多,对于其中的嵌入式设备SDK、DLL动态组件库的内容不甚了解。挠破了头皮,冲! 关于本贴 刚开始的时候,真的是一步一个坑, ......
Redis 数据库的哨兵模式
1. 哨兵模式 1.1 哨兵模式的结构和作用 哨兵(Sentinel)是 Redis 官方提供的一种高可用方案,它可以监控多个 Redis 服务实例的运行情况。本质上,Sentinel 也是一个运行在特殊模式下的 Redis 服务器。主从复制模式下,一般会配置多个 Sentinel 节点,通过互相协 ......
Redis 数据库的主从复制
1. 主从复制 1.1 什么是主从复制 主从复制,是将多台数据库服务器分为主节点(master)和从节点(slaver),主节点数据更新后会根据配置和策略,自动同步到从节点上,从而保证主从节点中存有相同的数据。 1.2 主从复制的作用 有了主从复制,数据可以有多份副本,这就带来了很多好处: (1)提 ......
Docker 下 Redis 数据库的持久化
1、Docker 容器的数据卷 Docker 是将系统与运行的环境打包成容器来运行,当容器删除后,容器里的系统自然也就没有了。但是,在实际的项目中,希望 Docker 容器产生的数据能够持久化,同时容器之间也能够共享数据。Docker 提供了数据卷技术来实现这些需求。 数据卷就是目录或文件,存在于一 ......
Redis 数据库的持久化
1、Redis 持久化 1.1 什么是持久化 持久化可以理解为数据的永久存储,就是将数据存储到一个不会丢失的地方。如果把数据放在内存中,电脑关闭或重启数据就会丢失,所以放在内存中的数据不是持久化的,而放在磁盘就是一种持久化。 1.2 Redis 的持久化 Redis 的数据存储在内存中,内存是瞬时的 ......