花了大量时间整理了这套Redis面试题 首发50题,绝无仅有,从入门到精通 从基础,高级知识点,再到集群,运维,方案… 弄明白了这些题可以说可以成为面霸了 面试官都得折服,Redis学得怎么样,都来检验下吧 1、什么是Redis? Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Valu…

2021年4月7日 0条评论 6点热度 阅读全文

Redis实现分布式锁 1 问题导入 使用setnx来实现分布式锁? 2 问题分析 问题1:setnx命令在参数中不能设置过期时间,要执行expire才能进行过期时间设置,不是原子性的操作,可能会在执行setnx后服务器宕机,没有设置expire,从而造成死锁现象 解决:在redis中可以使用set key value ex expireTime nx 命令来进行替换,在代码中可以使用redisTemplate.opsForValue().setIfAbsent(key, value, expireTime, Ti…

2021年4月7日 0条评论 7点热度 阅读全文

Spring Cloud下基于OAUTH2认证授权的实现 使用oauth2实现微服统一认证授权。通过向oauth2认证服务器发送请求获取token。 ,然后携带token访问其他微服务,此token在其他微服务是信任的(即是鉴权验证token是否可用) 模块: eureka:服务注册和发现的基本模块 zuul:边界网关(所有微服务都在它之后) oauth2: OAUTH2认证授权中心 service :普通微服务,用来验证认证和鉴权 1. oauth-server模块代码 1.1 添加基础pom.xml文件: &l…

2021年4月7日 0条评论 8点热度 阅读全文

NoSQL概述 一.数据存储的演化史 1.单机MySQL的美好年代 在90年代,一个网站的访问量一般都不大,用单个数据库完全可以轻松应付。在那个时候,更多的都是静态网页,动态交互类型的网站不多。 上述架构下,我们来看看数据存储的瓶颈是什么? 1.数据量的总大小 一个机器放不下时 2.数据的索引(B+ Tree)一个机器的内存放不下时 3.访问量(读写混合)一个实例不能承受 如果满足了上述1 or 3个,进化… 2.Memcached(缓存)+MySQL+垂直拆分 后来,随着访问量的上升,几乎大部分使用MySQL架构…

2021年4月7日 0条评论 5点热度 阅读全文

一、哈希表概述        首先简单介绍几个概念:哈希表(散列表)、映射、冲突、链地址、哈希函数。        哈希表(Hash table)的初衷是为了将数据映射到数组中的某个位置,这样就能够通过数组下标访问该数据,提高数据的查找速度,这样的查找的平均期望时间复杂度是O(1)的。        例如四个整数 6、7、9、12 需要映射到数组中,我们可以开一个长度为13(C语言下标从0开始)的…

2021年4月7日 0条评论 5点热度 阅读全文

Elasticsearch 最少必要知识实战教程直播回放 #题记: Elasticsearch研究有一段时间了,现特将Elasticsearch相关核心知识、原理从初学者认知、学习的角度,从以下9个方面进行详细梳理。欢迎讨论… #0. 带着问题上路——ES是如何产生的? ##(1)思考:大规模数据如何检索? 如:当系统数据量上了10亿、100亿条的时候,我们在做系统架构的时候通常会从以下角度去考虑问题: 1)用什么数据库好?(mysql、sybase、oracle、达梦、神通、mongodb、hbase…) 2)如…

2021年4月7日 0条评论 9点热度 阅读全文

一、为什么要使用分布式锁 我们在开发应用的时候,如果需要对某一个共享变量进行多线程同步访问的时候,可以使用我们学到的Java多线程的18般武艺进行处理,并且可以完美的运行,毫无Bug! 注意这是单机应用,也就是所有的请求都会分配到当前服务器的JVM内部,然后映射为操作系统的线程进行处理!而这个共享变量只是在这个JVM内部的一块内存空间! 后来业务发展,需要做集群,一个应用需要部署到几台机器上然后做负载均衡,大致如下图: 上图可以看到,变量A存在JVM1、JVM2、JVM3三个JVM内存中(这个变量A主要体现是在一个…

2021年4月7日 0条评论 6点热度 阅读全文

什么是Redis 基本概念 redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库(非关系性数据库)。 redis的优势 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1) 支持丰富数据类型,支持string,list,set,sorted set,hash 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行 丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删…

2021年4月7日 0条评论 4点热度 阅读全文

linux下tomcat日志文件增长导致磁盘空间已满 因无规划,将tomcat直接放在/目录下的/usr/local/tomcat,日志文件也存在默认的路径,当日志增长,可用空间为20KB 检查发现catalina.out日志也没有做log rotation 解决方法有两个。 一、更改tomcat下logs的路径(因/home目录有134G,已用1%) Tomcat安装目录下Logs目录下默认会产生4种日志文件:catalina.*.log,host-manager.*.log,localhost.*.log,ma…

2021年4月7日 0条评论 5点热度 阅读全文

#!/bin/bash function system(){ echo "#########################系统信息#########################" OS_TYPE=`uname` OS_VER=`cat /etc/redhat-release` OS_KER=`uname -a|awk '{print $3}'` OS_TIME=`date +%F_%T` OS_RUN_TIME=`uptime |awk '{print $3}'|awk -F, '{print $1}'` O…

2021年4月7日 0条评论 4点热度 阅读全文