Redis

Prometheus Operator自定义监控项

佐手、 提交于 2020-12-02 16:03:32
Prometheus Operator默认的监控指标并不能完全满足实际的监控需求,这时候就需要我们自己根据业务添加自定义监控。添加一个自定义监控的步骤如下: 1、创建一个ServiceMonitor对象,用于Prometheus添加监控项 2、为ServiceMonitor对象关联metrics数据接口的Service对象 3、确保Services对象可以正确获取到metrics数据 下面本文将以如何添加redis监控为例 部署redis k8s-redis-and-exporter-deployment.yaml --- apiVersion: v1 kind: Namespace metadata: name: redis --- apiVersion: apps/v1 kind: Deployment metadata: namespace: redis name: redis spec: replicas: 1 selector: matchLabels: app: redis template: metadata: annotations: prometheus.io/scrape: "true" prometheus.io/port: "9121" labels: app: redis spec: containers: - name: redis image:

2015到2020JAVA架构技术演进,阿里架构师到底有多牛逼?

自作多情 提交于 2020-12-02 15:25:58
V1.0拥抱架构师 更仔细架构演进图以及更多学习资料点此免费领取! V2.0拥抱微服务 V3.0拥抱互联网实战 Spring全家桶 更仔细架构演进图以及更多学习资料点此免费领取! Spring框架/Boot框架/微服务 分布式架构 RPC调用/zookeeper/dubbo框架 高并发技术 线程并发/网络技术/缓存技术/消息队列/负载均衡 高性能存储 数据库集群/搜狗引擎/Mongo 更仔细架构演进图以及更多学习资料点此免费领取! 性能优化 SQL优化/JVM性能优化/WEB程序优化 容器化技术 Docker/K8S容器编排 DevOps Git/Maven/Jenkins 大型互联网项目实战 干货视频,高级架构师最新java、spring、Redis、JVM、分布式、高并发。里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring,MyBatis,Netty源码分析,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点高级进阶干货的免费直播讲解。 更仔细架构演进图以及更多学习资料点此免费领取! 精选JAVA 高并发分布式架构课程视频 高可用、高并发、高性能及分布式、Jvm性能调优、Spring,MyBatis,Netty源码分析,Redis,Kafka,Mysql,Zookeeper,Tomcat

拼多多内推3面(Java):B-Tree索引+AQS+GC+分布式+集群+数据拆分

霸气de小男生 提交于 2020-12-02 15:16:54
一面 osi七层网络模型,五层网络模型,每次层分别有哪些协议 死锁产生的条件, 以及如何避免死锁,银行家算法,产生死锁后如何解决 如何判断链表有环 虚拟机类加载机制,双亲委派模型,以及为什么要实现双亲委派模型 虚拟机调优参数 拆箱装箱的原理 JVM垃圾回收算法 CMS G1 hashset和hashmap的区别,haspmap的底层实现put操作,扩容机制,currenthashmap如何解决线程安全,1.7版本以及1.8版本的不同 md5加密的原理 有多少种方法可以让线程阻塞,能说多少说多少 synchronized和reetrantlock锁 AQS同步器框架,countdowmlatch,cyclebarrier,semaphore,读写锁 二面 B-Tree索引,myisam和innodb中索引的区别 BIO和NIO的应用场景 讲讲threadlocal 数据库隔离级别,每层级别分别用什么方法实现,三级封锁协议,共享锁排它锁,mvcc多版本并发控制协议,间隙锁 数据库索引?B+树?为什么要建索引?什么样的字段需要建索引,建索引的时候一般考虑什么?索引会不会使插入、删除作效率变低,怎么解决? 数据库表怎么设计的?数据库范式?设计的过程中需要注意什么? 共享锁与非共享锁、一个事务锁住了一条数据,另一个事务能查吗? Spring bean的生命周期?默认创建的模式是什么

单点登陆的三种实现方式

时光总嘲笑我的痴心妄想 提交于 2020-12-02 12:21:26
背景: 单点登录(Single Sign On, SSO)是指在同一帐号平台下的多个应用系统中,用户只需登录一次,即可访问所有相互信任的应用系统。举例来说,百度贴吧和百度地图是百度公司旗下的两个不同的应用系统,如果用户在百度贴吧登录过之后,当他访问百度地图时无需再次登录,那么就说明百度贴吧和百度地图之间实现了单点登录。 单点登录的本质就是在多个应用系统中共享登录状态。如果用户的登录状态是记录在 Session 中的,要实现共享登录状态,就要先共享 Session,比如可以将 Session 序列化到 Redis 中,让多个应用系统共享同一个 Redis,直接读取 Redis 来获取 Session。 目录 实现方式一:父域 Cookie 来源: oschina 链接: https://my.oschina.net/u/4304462/blog/4769863

《Redis基础》笔记

狂风中的少年 提交于 2020-12-02 05:53:36
同步自 https://gitee.com/Corvey/note 数据类型 strings set key value 和 get key ,注意set操作会覆盖已有的key/value,若不希望覆盖可使用 set key value nx mset key1 value1 key2 value2 ... 和 mget key1 key2 ... 一次性完成多个key/value关系 incr key 加一, incrby key increment 加increment decr key 减一, decr key decrement 减decrement Lists lpush key value... 将多个value依次插入到key的最左边, rpush 最右 lrange key start stop 输出key的start到stop范围,负数表示倒数 lpop key 和 rpop key 弹出key的最左或最右 lset key index value 将key的index位置元素 修改 为value Hashes hset key field value 和 hmset key field1 value1 field2 value2... hget key field 和 hmget key field1 field2... hincrby key field

ELKStack入门篇(四)之Filebeat

我们两清 提交于 2020-12-02 05:38:25
Filebeat是轻量级单用途的日志收集工具,用于在没有安装java的服务器上专门收集日志,可以将日志转发到logstash、elasticsearch或redis等场景中进行下一步处理。 官方文档: https://www.elastic.co/guide/en/beats/filebeat/6.0/index.html 1、Filebeat安装和配置 1.1、filebeat安装 #RPM安装 [root@linux -node2 ~]# curl -L -O https: // artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.0.1-x86_64.rpm [root@linux-node2 ~]# rpm - vi filebeat- 6.0 . 1 - x86_64.rpm #docker安装 [root@linux -node2 ~]# docker pull docker.elastic.co/beats/filebeat: 6.0 . 1 1.2、filebeat配置输出到文件测试 [root@linux-node2 ~]# grep -v " # " /etc/filebeat/filebeat.yml | grep -v " ^$ " filebeat.prospectors: - type:

外包Java后端开发三年,年底跳槽两个月如何应付面试?

◇◆丶佛笑我妖孽 提交于 2020-12-01 18:12:11
目录 前言 1.整理一份思维导图 2.搜集一些大厂真题面试题自己解答 3. 不断的复述和巩固知识点 4. 加深技术的厚度 5. 出去装X吧 打铁还需自身硬(此方法不适合所有人) 小黄鸭学习法 关于结构化思维 5W1H法 链路法 其他方法 算法的学习方法 金玉良言 前言 以java面试为例,每一年的重点都是不一样的,招聘要求中可能出现你没有使用过的技术, 如:RPC、springboot、docker等。如果,2个月后要去面试,你心仪的公司,招聘要求上出现这样的你没有用过的技术,都不知道面试官会问这个技术的哪些问题。每年新出现的技术很多,但大部分是属于针对特定应用领域的编程框架。比如十几年前的各类Web编程框架,十年前的中间件框架,最近几年的深度学习框架等等。要快速掌握一个技术,需要学习的内容分为领域知识和框架两部分,并在此基础上要做一些实例来练习。领域知识是针对这个领域内通用的,即便是换个框架也能用的上。而框架知识则是领域知识的封装,方便编程使用的。 小编在这里总结了一篇学习方法,只要你本身不是很菜,用此方法两个月足够学好多个技术,而且是真学会、可以拿出来用的那种。需要注意的是,此方法对于大部分技术都很有效(比如java,spring,Redis、网络、操作系统等等),但对于算法、数据结构、设计模式这种需要慢慢积累基本功的不太有效。 1.整理一份思维导图

如何在 .NET 中使用 Redis缓存

旧城冷巷雨未停 提交于 2020-12-01 15:41:49
译文链接:https://www.infoworld.com/article/3187905/how-to-work-with-redis-cache-in-net.html 缓存是一种状态管理机制,通常用于提升你的应用程序性能,它很大程度上能够减少一个请求对你系统资源的消耗。 Redis是一个开源的,高性能的,NoSql数据库,它的速度非常快,而且所有的数据都是灌入到内存中,从内存中读写数据的性能开销真的是微乎其微,值得一提的是 Redis 采用的是BSD license,说明你可以将它用于商业和非商业的用途。 Redis是什么,我为什么要用它? Redis 是最流行的开源,NoSQL,基于内存的数据存储,而且非常????的是:它的数据存储支持多个数据结构,eg:strings,hashes,sets,lists 等等,Redis内部也提供了对 复制分发 和 事务 的支持,同时在数据持久化方面也做的非常好。 如果你的应用程序需要读取大量的数据,并且你的机器有很多的空闲内存,在这样的场景下如果你有提升性能的需求,采用 Redis 是一个非常好的选择,将Redis应用到你的程序中操作步骤也是非常简单的,接下来我们会一起讨论下如何去安装,配置和使用。 安装Redis 本篇讨论下如何在 Windows 平台上安装 Redis,安装包可以到 GitHub:https://github

跟随杠精的视角一起来了解Redis的主从复制

回眸只為那壹抹淺笑 提交于 2020-12-01 11:26:38
不想弹好吉他的撸铁狗,都不是好的程序猿 虽然说单机的Redis性能很好,也有完备的持久化机制,那如果你的业务体量真的很大,超过了单机能够承载的上限了怎么办?不做任何处理的话Redis挂了怎么办?带着这个问题开始我们今天的主题- Redis高可用 ,由于篇幅原因,本章就只聊聊主从复制。 为啥要先从主从复制开始聊,是因为 主从复制 可以说是整个Redis高可用实现的基石,你可以先有这么一个概念,至于具体为什么是基石,这个后面聊到Sentinel和Redis集群的时候会说到。 首先我们需要知道,对于我们开发人员来说,为什么需要 主从架构 ?一个Redis实例难道不行吗? 其实除了开篇提到的负载超过了Redis单机能够处理的上限,还有一种情况Redis也无法保证自身的高可用性。那就是即便Redis能够扛住所有流量,但是如果这个Redis进程所在的机器挂了呢?请求会直接调转枪口,大量的流量会瞬间把你的DB打挂,然后你就可以背个P0,打包回家了。 而且,假设你对Redis的需求真的超过了单机的容量,你怎么办?搞多台独立的Redis实例吗?那如果用户缓存的数据这一次存在了实例一,下一次如果用户又访问到了实例二,难道又要去走一遍DB吗?除非你能够维护好用户和Redis实例的对应关系(但是通常这样的逻辑比较复杂),否则部署多个Redis实例也就失去了它的意义,没有办法做到横向扩展了。

Springboot 集成redis

自闭症网瘾萝莉.ら 提交于 2020-12-01 03:05:47
这里只做单机版简单集成,不过为项目中使用 1.在pom文件中引入支持 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <!-- springboot2.0的redis整合包多出lettuce连接池,需要commons-pool2 --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-pool2</artifactId> </dependency> 2.直接在类中注入使用RedisTemplate @RunWith(SpringRunner.class) @SpringBootTest public class RedisTest { @Autowired private StringRedisTemplate stringRedisTemplate; @Autowired private RedisTemplate<String, User> redisTemplate; @Test public void test() throws Exception {