Redis学习笔记 Redis能做什么不能做什么?可以存哪些数据可以做什么操作存储方面访问方式I/O 模型设计–网络连接的处理、网络请求的解析,以及数据存取的处理,是用一个线程、多个线程,还是多个进程来交互处理呢?该如何进行设计和取舍呢?(如果一个线程既要处理网络连接、解析请求,又要完成数据存取,一旦某一步操作发生阻塞,整个线程就会阻塞住,这就降低了系统响应速度。
在Redis中保存时间序列数据 最近做了一个需求,是从H5提供的表里拉到数据然后需要在redis中按照时序顺序保存数据。目前是用zset实现的,但是我做完之后想了想,这样存数据是否会以后对功能扩展有阻碍或者会不会有其他的隐藏问题?于是去研究了一下有没有Redis保存时间序列数据支持高性能访问的好方法。首先,使用Sorted Set保存时序数据,把时间戳作为score,把实际的数据作为member,有什么潜在的风险?我目前能想到的风险是,如果对某一个对象的时序数据记录很频繁的话,那么这个key很容易变成一个bigkey,在key过期释放
算法复杂度分析 复杂度分析用来做什么? 当我们设计一个算法的时候,我们希望让设计的代码运行的更快,更省内存。但是如何考量以上两个指标呢?我们需要通过时间、空间复杂度分析的方式来进行考量。复杂度分析对算法来说非常的重要,也是整个算法学习的精髓。为什么要做复杂度分析? 当然,我们写完之后把代码跑一遍,也能得到算法损耗的时间以及存储空间(像力扣刷题一样)。我们做数据分析真的能比把代码跑一遍准确吗? 首先,把代码跑一遍的评估方法是正确的,一些书籍将其称作事后统计法。但是,这些方法拥有局限性。局限性体现在以下方面。
Mysql索引机制 Mysql索引机制索引用来做什么索引是什么为什么用B+Tree来实现呢?哈希表哈希表构成哈希表查询哈希表优缺点适用场景有序数组有序数组查询有序数组优缺点有序数组适用场景搜索树搜索树特点搜索树查询N叉树如何进行计算搜索树适用场景怎么给字段加索引索引如何工作索引的常见模型索引用来做什么 数据库索引的出现用来提高查询效率。像查字典的目录一样,根据目录去拿到相应的内容能大大提高查询效率。索引是什么 索引是一种有序的数据结构。可以用B+Tree来实现为什么用B+Tree来实现呢?我们以下分析用于提高读
Mysql基础架构概述与事务隔离 Mysql基础架构概述Mysql基础架构概述我对mysql基础架构的学习初衷Mysql基础架构的组成以及作用一条查询语句是如何执行的?Mysql基础架构概述我对mysql基础架构的学习初衷 在我们以往去使用mysql进行增删改查的时候,我们看到的只是输入一条语句,返回一个结果。希望经过学习之后,我们能够了解mysql的基础零件及其作用,当遇到问题的时候能直戳本质,更为快速地定位并解决问题。Mysql基础架构的组成以及作用 Mysql的基础架构分为Server 层和存储引擎层两部分。在我们的日常
Java面试1.5年面经总结 Java面试1.5年面经总结事情的起因是这样的: 在2020年的年底,我经过了一些基础知识以及算法题的准备,试水了人生的第一波社招,成功从传统企业转到了大部分都是同龄人的小互联网公司。答上来了很多问题,也没有答上来很多问题。我对本次社招做的准备主要有: 力扣Hot100题集,《Offer来了:Java面试核心知识点精讲(原理篇)》,极客时间《Java核心面试36讲》,还有一些网上找的框架方面的面试题面经。我答不上来的问题主要有:...
IDEA中导入项目运行失败提示Illeagle Arguement,访问404解决方法(Idea的Modules设置) 文章目录IDEA中导入项目运行失败提示Illeagle Arguement,访问404解决方法(Idea的Modules设置)起因尝试1:设置resources文件尝试2:啃代码尝试3:完全重新设置Modules,解决IDEA中导入项目运行失败提示Illeagle Arguement,访问404解决方法(Idea的Modules设置)起因 事情的起因是这样的: 公司的项目需要开发一个门户网站,我们团队的方案是找一个WCMS开源项目,生成一个。然后经过技术选型之后敲定使用铭飞CMS,也就是MCMS
GitLab在本机切换账户配置并上传项目 GitLab在本机切换账户配置并上传项目1、进入控制面板,新增git账户,配置用户名及密码2、在gitBash上切换账户3、上传项目 之前已经在本机创建了一个Vue项目,同事给了我一个GitLab账号叫我使用他的账号上传一下项目。但是我本机的配置是我自己的git账号,那么如何切换呢?在此将相关操作罗列如下:1、进入控制面板,新增git账户,配置用户名及密码输入用户名及密码,添加一条凭据2、在gitBash上切换账户在项目中先删除无用的配置(.idea或.git等配置)保留需要上传的项目文件
使用webStorm创建vue.js项目并运行 文章目录前言下载环境1、下载Node.js并安装配置nodejs的全局路径以及缓存路径设置环境变量设置系统环境变量设置用户环境变量安装一个module测试一下上述环境变量是否配置成功,以安装express模块为例2、安装淘宝镜像(类似于阿里云的maven中央仓库的镜像)3、安装webPack4、安装Vue检测上述操作是否安装成功使用WebStorm创建Vue前言下载环境最近接了一个活儿,是用WebStorm开发一个基于VUE的网站没接触过VUE相关的项目实践,将环境相关试错罗列如下:下载并安装we
eclipse中设置Gitlab的改动显示 eclipse中设置Gitlab仓库的改动显示 最近接手了一个老项目,是Maven项目,用的SpringBoot微服务架构。所以为了方便开发又用回了eclipse,重新配了GitLab并顺利clone了下来。但是由于本人对eclipse里GitLab的配置不熟练,所以出了如下问题: 不管我的代码怎么改动,项目还是如下这个图标,并不像以前做SVN的时候会显示星花,这样我不能直观地了解到哪个改了。这个项目下的所有文件的图标上都不会出现星花。以下就是我为了解决这个问题所作出的尝试:1、WIndow-
微信小程序获取用户手机号Java后端处理:BadPaddingException: Given final block not properly padded. Such issues can 微信小程序获取用户手机号后端处理官网流程概述后端逻辑数据校验后端实现官网流程概述微信官方网页对于微信小程序获取用户手机号的处理描述如下这页主要是对前端做法的描述,主要描述了前端应该提前通过wx.login登陆,或者进行登录态检查,以此避免刷新登录态的操作,避免出现服务端存的sessionKey不是最新的sessionKey从而出现敏感数据解密失败的问题。后端逻辑微信会对这些开放数据...
搭建Consul报错Failed to start RPC layer: listen tcp XX.XXX.XXX.XXX:XXXX:: bind: cannot assign requested 搭建SprinfCloud-Consul报错解决方案搭建步骤报错过程为解决此问题作出的尝试搭建步骤1、解压unzip -o -d /usr/springcloud/consul consul_1.6.0_linux_amd64.zip2、在consul目录下创建conf、data/consulData文件夹3、把basic.json文件放到conf目录。4、开启端口:及其它相关端口f...
IntelliJ IDEA和Eclipse最常用的快捷键对应表 描述EclipseIntellij代码补全Ctrl+spaceCtrl+space打开类或者接口(两个IDE都支持使用“驼峰字符”前缀的方式来过滤查找列表,进而轻松完成搜索;比如:可以使用“PoDI”来检索PodcastDaoImpl类)Ctrl+Shift +TCtrl+N快速打开文件/资源Ctrl+Shift+RShift+F6打开声明F...
微信小程序-常用API开发技巧学习笔记 常用API开发技巧学习笔记第一章 认识微信小程序前后端分离的开发方式小程序的特点小程序对开发者的影响学习小程序需要的基础第二章 小程序环境搭建与开发工具介绍小程序开发环境第一章 认识微信小程序 微信小程序是一种不需要下载安装即可使用的全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有“用完即走,不用关心是否安装太多应用”的使用体验。 微信小程序做成了一个开放式的平台,...
在eclipse里设置Java,jsp,xml,html代码提示 1、打开eclipse,选择Window–>Preferences.2、先设置java文件的自动代码提示。在Preferences中找到Java–>Editor–>Content Assist,然后将Auto activation triggers for java右边的输入框中的".“改为你想输入后就会提示的内容,例如想要在Java文件中输入a-z都会有代码提示,则将输入框的...
MyBatis-Plus学习笔记 文章目录Mybatis-Plus什么是Mybatis-PlusMybatis-Plus特性快速开始使用Mybatis-Plus什么是Mybatis-PlusMybatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。Mybatis-Plus特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如...