Redis以及Jedis
Redis是什么概述
Redis是什么?
Redis(Remote Dictionary Server ),即远程字典服务。
是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
Redis能干什么?
内存存储、持久化,内存是断电即失的,所以需要持久化(RDB、AOF)
高效率、用于高速缓冲
发布订阅系统
地图信息分析
计时器、计数器(eg:浏览量)
……
特性
多样的数据类型
持久化
集群
事务
…
环境搭建
官网:https://redis.io/
推荐使用Linux服务器学习。
windows版本的Redis已经停更很久了…
五大数据类型Redis-KEY
在redis中无论什么数据类型,在数据库中都是以key-value形式保存,通过进行对Redis-key的操作 ...
sql优化
Explain工具介绍使用EXPLAIN关键字可以模拟优化器执行SQL语句,分析你的查询语句或是结构的性能瓶颈
在 select 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,执行查询会返回执行计划的信息,而不是执行这条SQL
注意:如果 from 中包含子查询,仍会执行该子查询,将结果放入临时表中
Explain分析示例建表DROP TABLE IF EXISTS `actor`; CREATE TABLE `actor` ( `id` int(11) NOT NULL, `name` varchar(45) DEFAULT NULL, `update_time` datetime DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `actor` (`id`, `name`, `update_time`) VALUES (1,'a','2017-12-22 15:27:18 ...
LeetCode
1.两数相加(2)数据结构涉及数据结构: 单链表
结构如下所示
注意:是逻辑结构,在内存中节点不是一个接一个的。
题解思路
将两个链表看成是相同长度的进行遍历,如果一个链表较短则在前面补 0,比如 987 + 23 = 987 + 023 = 1010。
每一位计算的同时需要考虑上一位的进位问题,而当前位计算结束后同样需要更新进位值
如果两个链表全部遍历完毕后,进位值为 11,则在新链表最前方添加节点 11
小技巧:对于链表问题,返回结果为头结点时,通常需要先初始化一个预先指针 pre,该指针的下一个节点指向真正的头结点head。使用预先指针的目的在于链表初始化时无可用节点值,而且链表构造过程需要指针移动,进而会导致头指针丢失,无法返回结果。
class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { ListNode pre = new ListNode(0); ListNode cur = pre; int carry ...
Haskell函数编程
简介haskell 是一门纯函数式编程语言。
在命令式语言中执行操作需要给电脑安排一组命令,随着命令的执行,状态就会随之发生改变。例如你给变量 a 赋值为 5,而随后做了其它一些事情之后 a 就可能变成的其它值。有控制流程,你就可以重复执行操作。然而在函数式编程语言中,你不是像命令式语言那样命令电脑“要做什么”,而是通过用函数来描述出问题“是什么”,如“阶乘是指从1到某数间所有数字的乘积”。变量一旦赋值,就不可以更改了,你已经说了 a 就是 5,就不能再另说 a 是别的什么数。做人不能食言,对不?所以说,函数式编程语言中的函数能做的唯一事情就是求值,因而没有副作用。一开始会觉得这很受限,不过好处也正源于此:若以同样的参数调用同一函数两次,得到的结果总是相同。这被称作“引用透明”。如此一来编译器就可以理解程序的行为,你也很容易就能验证一个函数的正确性,继而可以将一些简单的函数组合成更复杂的函数。
类型Haskell 是 Static Type—>编译时期每个表达式的型别都已经确定下来
各种类型(使用:t进行查看 )与 Java 和 Pascal 不同,Haskell 支持型别推导 ...
Springboot和Echarts使用
引用Cdn前端引用Echart的cdn
<script src="https://cdn.bootcss.com/echarts/4.2.1-rc1/echarts-en.common.js"></script>
[]: https://echarts.apache.org/examples/zh/index.html “Echarts官网”
根据需求选对应的图表
目的
从上图表中计算出各种类的数目数量,并绘制成饼图
传给前端的数据为对象数组
[{工具书:},{儿童读物},{}]……
后端编写sql并编译SELECT book_category,count(*) num FROM `book` GROUP BY book_category
在navicate中运行可查询结果
编写pojo包下的CategoryCount类pojo包下创建一个CategoryCount类来将上述的结果进行封装
package com.lyx.library.pojo;import lombok.AllArgsConstructor;impo ...
前端框架Semantic-Ui使用
Semantic-Ui简介Cdn引用Jquery(cdn)记得先引用!
<link rel="stylesheet" href="https://cdn.jsdelivr.net/semantic-ui/2.2.10/semantic.min.css"> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"> </script> <script src="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.3.3/semantic.min.js"></script>
表单验证js(jQuery)Semantic-Ui专用语
当提交表单按钮时,会验证输入框是否非空(empty)
<script type="text/javascript"> $ ...
Spring5
Spring51.、Spring1.1、简介
Spring ——> 春天,为开源软件带来了春天
2002,首次推出了Spring框架的雏形:interface21框架!
Spring框架以interface21框架为基础,经过重新设计,并不断丰富其内涵,于2004年3月24日发布了1.0正式版
Spring的理念:使用现有的技术更加容易使用,本身是一个大杂烩,整合了现有的技术框架!
SSH:Struct2 + Spring + Hibernate(全自动持久化框架)!
SSM:SpringMVC + Spring + MyBatis(半自动持久化框架,可自定义性质更强)!
spring官网: https://spring.io/projects/spring-framework#overview
官方下载: https://repo.spring.io/release/org/springframework/spring/
GitHub: https://github.com/spring-projects/spring-framework
Spring Web MVC: ...
JDBC
数据库驱动驱动:声卡,显卡,数据库
我们的程序会通过数据库驱动,和数据库打交道!
JDBCSUN 公司为了简化开发人员的(对数据库的统一)操作,提供了一个(Java操作数据库的)规范,JDBC
这些规范的实现由具体的厂商去做
对于开发人员来说,我们只需要掌握JDBC的接口操作即可
第一个JDBC程序
创建数据库
CREATE DATABASE `jdbcstudy` ;use `jdbcstudy`CREATE TABLE `users` ( `id` int NOT NULL, `NAME` varchar(40) DEFAULT NULL, `PASSWORD` varchar(40) DEFAULT NULL, `email` varchar(60) DEFAULT NULL, `birthday` date DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO `users`(id,NAME,PASSWORD,email,birthday)VALUES( ...
MySQL基础2
DQL查询数据(最重点)DQL(Data Query Language) :数据查询语言
所有的查询操作都用它 Select
简单的查询,复杂的查询它都能做
数据库中最核心的语言
使用频率最高的语言
指定查询字段-- 查询 SELECT 字段 FROM 表-- 查询指定字段 such asSELECT `StudentNo`,`StudentName` FROM student-- 别名,给结果起一个名字 AS 可以给字段起别名 也可以给表起别名SELECT `StudentNo` AS 学号,`StudentName`AS 学生姓名 FROM student AS S-- 函数 Concat(a,b)SELECT CONCAT('姓名:',StudentName) AS 新名字 FROM student
语法: SELECT 字段 ... FROM 表
有时候,列名字不是那么见名知意。我们起别名 AS 字段名 AS 别名 表名 AS 别名
去重
作用:去除select语句查询出来的结果中重复的语句,重复的语句只显示一条
-- 查询一下有 ...
MySQL之基础操作
操作数据库操作数据库操作数据库 > 操作数据库中的表 > 操作数据库中表的数据
Mysql不区分大小写!!
创建数据库
CREATE DATABASE [IF NOT EXISTS] westos
删除数据库
DROP DATABASE[IF EXISTS] westos
使用数据库
--tab键的上面,如果你的表名或者字段名是一个特殊字符,就需要带``符号USE `school`
查看数据库
SHOW DATABASE --查看所有的数据库
数据库的列类型
数值
tinyint 十分小的数据 1个字节
smallint 较小的数据 2个字节
mediumint 中等大小的数据 3个字节
int 标准的整数 4个字节
bigint 较大的数据 8个字节
float 浮点数 4个字节
double 浮点数 ...