Redis

Redis 实战 —— 13. 扩展 Redis

|▌冷眼眸甩不掉的悲伤 提交于 2021-02-02 23:58:23
简介 当数据量增大或者读写请求增多后,一台 Redis 服务器可能没办法再存储所有数据或者处理所有读写请求,那么就需要对 Redis 进行扩展,保证 Redis 在能存储所有数据对情况下,同时能正常处理读写请求。 P227 扩展读性能 P227 提高性能的几个途径 P228 使用短结构:确保压缩列表的最大长度不会太大 根据查询类型选择结构 不要把列表当作集合使用 不要获取整个散列,然后再客户端里面进行排序,而应使用有序集合 大体积对象存储前进行压缩:减少读写所需的网络带宽。对比 lz4, gzip 和 bzip2 等压缩算法,选择对存储数据压缩效果和性能最好对压缩算法 流水线和连接池: 复制、处理故障、事务及性能优化 中介绍过流水线 扩展读性能最简单的方法就是添加只读服务器( 复制、处理故障、事务及性能优化 中介绍过通过复制 (replication) 让一个 Redis 服务器成为从服务器及运作原理和管理方法),并只对主服务器进行写入(默认情况下,尝试对一个从服务器进行写入将引发一个错误,即使它是其他从服务器的主服务器)。 P228 添加从服务器 P228 在配置文件中加上: slaveof <master-host> <master-port> 向正在运行对 Redis 服务器发送: SLAVEOF <master-host> <master-port> 可以通向从服务器发送

一应俱全,阿里新产P5到P8Java全栈成长宝典限时开源(2021最新)

本秂侑毒 提交于 2021-02-02 21:12:40
前言 对于大部分的程序员来说,清晰地规划自己的职业发展并不是一件容易的事情。作为一个曾经底子比较差,从底层摸爬滚打多年走过来的程序员,在这里分享一下对我帮助很大的一份宝典,希望同行们能快速掌握这些技术,直接弯道超车。 很多程序员不知道学什么?或者说不知道从何学习?今天分享的这份宝典由阿里大佬倾情力荐,Java全线成长宝典,从P5到P8一应俱全。 需要电子版来帮助自己从P5进阶到P8的朋友,点赞收藏,关注我之后直接添加小助理vx:bjmsb2020 即可百分百获取! P5:能够独立执行既定任务 1.打开程序员的大门 计算机基础+CPU/内存/硬盘+软、硬件关联+2进制、位运算 Windows基础+环境变量+PATH/CLASSPATH+常用命令 Linux基础+进程/文件命令+网络/安全命令/常用命令 虚拟机的安装与使用+VMWARE+Linux安装 2.JavaSE核心 面向对象和基本语法+封装+继承+多态+标识符合保留字+数据类型+流程控制 集合框架+COLLECTION+LIST+SET+MAP+COLLECTIONS+ARRAYS 多线程+线程进程+Tread、Runnable+线程的生命周期+线程池 IO框架+字节流+字符流+缓冲流+处理流+标准流+转换流 设计模式+工厂模式+单例模式+适配器模式+装饰器模式+代理模式+策略模式+模板方法模式+访问者模式 设计原则

官方Spring Boot starters整理

不问归期 提交于 2021-02-02 18:45:08
Spring Boot starters Spring Boot 的功能组件(例如 spring-boot-starter-actuator、 spring-boot-starter-data-redis 等)的步骤非常简单,用著名的把大象放冰箱的方法来概括的话,有以下三步就可以完成组件功能的使用: STEP 1 在 pom 文件中引入对应的包,例如: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> STEP 2 在应用配置文件中加入相应的配置,配置都是组件约定好的,需要查看官方文档或者相关说明。有些比较复杂的组件,对应的参数和规则也相应的较多,有点可能多大几十上百了。 STEP 3 以上两步都正常的情况下,我们就可以使用组件提供的相关接口来开发业务功能了。下面我整理了官方提供的starter.我们来看一看. 1、application starters 应用程序级的 Starters <table> <thead> <tr> <th>Starter 名称</th> <th>Starter 描述</th> </tr> </thead> <tbody> <tr> <td>spring

How to implement “trigger” for redis datastore?

我与影子孤独终老i 提交于 2021-02-02 15:31:51
问题 I have a program, which will poll on a certain key from the redis datastore, and do something when the value satisfies a certain condition. However, I think periodically polling on redis is quite inefficient, I'm wondering if there is a "trigger" mechanism for redis, when the value changes and satisfies the condition, the trigger will be called. The trigger might be a RPC function, or an HTTP msg, or something else, so that I don't need to poll on it any more, just like the difference between

How to implement “trigger” for redis datastore?

人走茶凉 提交于 2021-02-02 15:30:51
问题 I have a program, which will poll on a certain key from the redis datastore, and do something when the value satisfies a certain condition. However, I think periodically polling on redis is quite inefficient, I'm wondering if there is a "trigger" mechanism for redis, when the value changes and satisfies the condition, the trigger will be called. The trigger might be a RPC function, or an HTTP msg, or something else, so that I don't need to poll on it any more, just like the difference between

How to implement “trigger” for redis datastore?

我只是一个虾纸丫 提交于 2021-02-02 15:29:35
问题 I have a program, which will poll on a certain key from the redis datastore, and do something when the value satisfies a certain condition. However, I think periodically polling on redis is quite inefficient, I'm wondering if there is a "trigger" mechanism for redis, when the value changes and satisfies the condition, the trigger will be called. The trigger might be a RPC function, or an HTTP msg, or something else, so that I don't need to poll on it any more, just like the difference between

阿里P8架构师深度概述分布式架构

只愿长相守 提交于 2021-02-02 13:51:58
简介 作为一名架构师,我们要专业,要能看懂代码,及时光着臂膀去机房,也能独挡一面!及时同事搞不定问题,或者撂挑子,你也能给老大一个坚定的眼神:不怕,有我在!还能在会议室上滔滔不绝,如若无人,让不懂技术的妹子看你时眼神迷离,就好想落霞与孤鹜齐飞! 分布式架构是一个非常复杂的体系,任何技术都不是孤立的存在,任何技术都无法适应所有场景。作为一名分布式系统架构或者资深研发人员,我们必须尽可能多的学习与之相关的各种知识,掌握各种技术的演进路线,正式从一名码农蜕变成为架构师 什么是分布式? 互联网应用的特点是:高并发,海量数据。互联网应用的用户数是没有上限的(取决于其开放特性),这也是和传统应用的本质区别。高并发指系统单位时间内收到的请求数量(取决于使用的用户数),没有上限。海量数据包括:海量数据的存储和海量数据的处理。这两个工程难题都可以使用分布式系统来解决。 简单理解,分布式系统就是把一些计算机通过网络连接起来,然后协同工作。协同工作需要解决两个问题: 1)任务分解 把一个问题拆解成若干个独立任务,每个任务在一台节点上运行,实现多任务的并发执行。 2)节点通信 节点之间互相通信,需要设计特定的通信协议来实现。协议可以采用RPC或Message Queue等方式。 分布式和集群的关系 分布式:一个业务分拆多个子业务,部署在不同的服务器上 集群:同一个业务,部署在多个服务器上 计算机发展历史

ASP.NET Core分布式缓存Redis主从Sentinel哨兵模式实战演练

浪尽此生 提交于 2021-02-02 13:22:57
一、课程介绍 Redis是被广泛使用的基础软件之一。对于工程师和,架构师,运维人员来说,了解Redis的高可用方案和背后的原理,是必备的基础知识。 “高可用性”(High Availability)通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。 Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案之一,当用Redis做Master-Slave(主从复制)的高可用方案时,假如master宕机了,它能监控多个master-slave集群,发现master宕机后能进行自动切换。Redis主从切换技术的方法是:当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用。这不是一种推荐的方式,更多时候,我们优先考虑哨兵模式。 1.1、本次分享课程包含知识点如下: ★Redis的三种集群解决方案对比。 ★Redis哨兵模式概述。 ★如何使用Dcoker部署Redis主从切换哨兵模式(一主二从三哨兵)。 1.2、一句话总结今天我们学习达到的目标 在ASP.NET Core中如何使用分布式缓存Redis主从Sentinel哨兵模式实现故障转移。 二、Redis的三种集群解决方案对比 redis有三种集群方式:主从复制,哨兵模式和集群。 1)、Redis主从复制特点

阿里P8架构师深度概述分布式架构

妖精的绣舞 提交于 2021-02-02 13:06:02
简介 作为一名架构师,我们要专业,要能看懂代码,及时光着臂膀去机房,也能独挡一面!及时同事搞不定问题,或者撂挑子,你也能给老大一个坚定的眼神:不怕,有我在!还能在会议室上滔滔不绝,如若无人,让不懂技术的妹子看你时眼神迷离,就好想落霞与孤鹜齐飞! 分布式架构是一个非常复杂的体系,任何技术都不是孤立的存在,任何技术都无法适应所有场景。作为一名分布式系统架构或者资深研发人员,我们必须尽可能多的学习与之相关的各种知识,掌握各种技术的演进路线,正式从一名码农蜕变成为架构师 什么是分布式? 互联网应用的特点是:高并发,海量数据。互联网应用的用户数是没有上限的(取决于其开放特性),这也是和传统应用的本质区别。高并发指系统单位时间内收到的请求数量(取决于使用的用户数),没有上限。海量数据包括:海量数据的存储和海量数据的处理。这两个工程难题都可以使用分布式系统来解决。 简单理解,分布式系统就是把一些计算机通过网络连接起来,然后协同工作。协同工作需要解决两个问题: 1)任务分解 把一个问题拆解成若干个独立任务,每个任务在一台节点上运行,实现多任务的并发执行。 2)节点通信 节点之间互相通信,需要设计特定的通信协议来实现。协议可以采用RPC或Message Queue等方式。 分布式和集群的关系 分布式:一个业务分拆多个子业务,部署在不同的服务器上 集群:同一个业务,部署在多个服务器上 计算机发展历史

Java后端技术学习体系——韩顺平

筅森魡賤 提交于 2021-02-02 11:57:43
文章目录 第一部分:Java基础 变量、控制结构、OOP(封装,继承,多态)、数组、Java API、异常和处理、集合、泛型、IO、反射、网络通信 第二部分:Java高级 1. Java多线程/高并发 1.1 并发基础 互斥同步、非阻塞同步、指令重排、synchronized、 volatile 1.2 线程 1.3 锁 自动锁、偏向锁、可重入锁 1.4 线程池 1.5 并发容器 1.6 JUC executor、collections、locks、alomic(原子类)、tools 2. 数据结构和算法 2.1 数据结构 数组(数组问题)、队列、栈、链表、树、散列、堆、图 2.2 算法 排序(8种)、查找、分治、动态规划(背包问题)、回溯(骑士周游问题)、贪心算法、KMP、Prim、kuskal、flovd-最短路径、(Dij...)最短路径 3. 设计模式(23种) 单例模式、观察者模式、工厂模式、适配器模式、装饰者模式、代理模式、模版模式、职责链模式、其他(组合模式、桥接模式...) 4. JVM JVM体系、类加载机制、双亲委派机制/沙箱安全机制、JMM(Java内存模型)、字节码执行过程、GC(垃圾回收算法)、JVM性能监控和故障定位、JVM调优 第三部分:Java web 1. 前端基础 html、css、JavaScript、ajax、jquery 2. 前端框架