日常笔记-01

Semantic-ui

插件集成

Markdown编辑器:https://pandao.github.io/editor.md/

内容排版typo.css:https://github.com/sofish/typo.css

动画animate.css:https://animate.style/

代码高亮prism:https://prismjs.com/

目录生成Tocbot:https://tscanlin.github.io/tocbot/

二维码生成qrcode.js:https://davidshimjs.github.io/qrcodejs/

logback配置

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <include resource="org/springframework/boot/logging/logback/default.xml"/>
    <property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/spring.log}"/>
    <include resource="org/springframework/boot/logging/logback/console-appender.xml"/>

    <appender name="TIME_FILE"
              class="ch.qos.logback.core.rolling.RollingFileAppender">
        <encoder>
            <pattern>${FILE_LOG_PATTERN}</pattern>
        </encoder>
        <file>${LOG_FILE}</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.%i</fileNamePattern>

            <maxHistory>30</maxHistory>

            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>10MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
    </appender>

    <root level="INFO">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="TIME_FILE"/>
    </root>

</configuration>

MyBatisPlus

快速入门

接口

package com.cs.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.cs.pojo.User;
import org.springframework.stereotype.Repository;

//在对应的mapper上面继承基本的接口BaseMapper
@Repository//代表持久层
public interface UserMapper extends BaseMapper<User> {
    //所有的CRUD操作都已经编写完成了
}

主启动类添加

@MapperScan("com.cs.mapper")

测试类

package com.cs;

import com.cs.mapper.UserMapper;
import com.cs.pojo.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.List;

@SpringBootTest
class MybatisPlusApplicationTests {

    //继承了BaseMapper,所有的方法都来自父类
    //也可以编写自己的扩展方法

    @Autowired
    private UserMapper userMapper;

    @Test
    void contextLoads() {
        //参数是一个wrapper,条件构造器,这里先用null
        //查询全部用户
        List<User> users = userMapper.selectList(null);
        users.forEach(System.out::println);
    }

}

查询结果为:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yhokTTtJ-1605705377178)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201111230437352.png)]

配置日志

#配置日志
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

CRUD扩展

//测试插入
@Test
public void testInsert(){
    User user = new User();
    user.setName("狂神说Java");
    user.setAge(3);
    user.setEmail("1318579525@qq.com");


    int insert = userMapper.insert(user);//自动生成id
    System.out.println(insert);//受影响的行数
    System.out.println(user);//id会自动回填?
}

运行结果为

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VPTBwtHp-1605705377187)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201111231724669.png)]

Redis

noSQL

1、单机mysql的演进

2、Memcached(缓存)+MySQL+垂直拆分(读写分离)

读写分离出来,但是网站80%都是在读,每次都要去查询数据库就十分麻烦!为了减轻数据的压力,使用缓存来保证效率

发展过程:优化数据结构和索引–>文件缓存(IO)–>Memcached(当时最热门的技术)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n5CuzER6-1605705377194)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201115154358453.png)]

3、分库分表+水平拆分+MySQL集群

本质:数据库读写

MyISAM:表锁,十分影响效率!高并发下就会出现严重的问题

Innodb:行锁

4、最近年代

技术爆炸:2010-2020

MySQL等关系型数据库不够用了,数据量很多,变化很快

5、目前一个基本的互联网项目

6、为什么要用noSQL

​ 用户的个人信息,社交网络,地理位置,用户自己生产的数据,用户日志等等爆发式增长

​ 就需要使用noSQL了

什么是NoSQL?

NoSQL

​ 不仅仅是sql;

​ 关系型数据库:表格,以行和列来记录

​ 泛指非关系型数据库的,使用Map<String,Object>来存储

NoSQL特点

​ 1、方便拓展(数据之间没有关系,很好扩展)

​ 2、大数据量高性能(Redis一秒写8万次,读取11万,NoSQL的缓存记录级,是一种细粒度的缓存,性能会比较高)

​ 3、数据类型是多样型的!(不需要事先设计数据库!随去随用)

​ 4、传统的RDBMS和NoSQL

传统的RDBMS
-结构化组织
-SQL
-数据和关系都存在单独的表中
-严格的一致性
-基础的事务
Nosql
-不仅仅是数据
-没有固定的查询语言
-键值对存储
-最终一致性
-CAP定理和BASE
-高性能,高可用,高可扩

了解3V+3高

大数据时代的3v:主要是描述问题的

​ 海量Velume

​ 多样Variety

​ 实时Velocity

大数据时代的3高:主要是对程序的要求

​ 高并发

​ 高可扩

​ 高性能

NoSQL的四大分类

kv键值对:

  • 新浪:Redis

  • 美团:Redis+Tair

  • 阿里、百度:Redis+memecache

文档型数据库(bson格式和json一样)

  • MongoDB

MongoDB是一个基于分布式文件存储的数据库,c++编写

是一个介于关系型数据库和非关系型数据库中间的产品,它是非关系型数据库中功能最丰富,最像关系型数据库的

  • ConthDB

列存储数据库

  • HBase
  • 分布式文件系统

图关系数据库

  • 他不是存图形的,放的是关系
  • Neo4j,infoGri

Redis入门

概述

Remote Dictionary Server:远程字典服务

Redis能够干嘛?

​ 1、内存存储、持久化,内存中是断电即失,所以说持久化很重要(rdb,aof)

​ 2、效率高,可以用于高速缓存

​ 3、发布订阅系统

​ 4、地图信息分析

​ 5、计时器,计数器

​ 6、。。。。。。。

特性

​ 1、多样的数据类型

​ 2、持久化

​ 3、集群

​ 4、事务

​ 。。。。。。

y Server:远程字典服务

Redis能够干嘛?

​ 1、内存存储、持久化,内存中是断电即失,所以说持久化很重要(rdb,aof)

​ 2、效率高,可以用于高速缓存

​ 3、发布订阅系统

​ 4、地图信息分析

​ 5、计时器,计数器

​ 6、。。。。。。。

特性

​ 1、多样的数据类型

​ 2、持久化

​ 3、集群

​ 4、事务

​ 。。。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值