Mybatis 基本应用 SqlSession工厂构建器通过加载mybatis的核心文件的输入流的形式构建一个对象其中,Resources工具类,这个类在包中。Resources类帮助你从类路径下、文件系统或一个web URL中加载资源文件。SqlSession工厂对象有多个个方法创建SqlSession实例。常用的有如下两个:SqlSession会话对象SqlSession实例在MyBatis中是非常强大的一个类。在这里你会看到所有执行语句、提交或回滚事务和获取映射器实例的方法。
Mybatis 相关概念 MyBatis是一款优秀的基于ORM的半自动轻量级持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生类型、接口和Java的POJO,普通⽼式Java对象)为数据库中的记录。
自定义持久层框架 创建使用端的maven项目在项目中创建--配置数据源--> < dataSource > < property name = " driver " value = " com.mysql.driver " />
OOM command not allowed when used memory > ‘maxmemory‘ 的解决方案 原因:内存已满,不允许再存数据了,可以通过。,指明非活跃近期很少用的key值清除。还不行,就需要考虑扩容,修改。最大内存的策略可以修改为。
String 的特点及重要方法 原理如下:如果在当前类的常量池中存在与调用 intern() 方法的字符串等值的字符串,就直接返回常量池中相应字符串的引用,否则在常量池中复制一份该字符串(Jdk7 中会直接在常量池中保存当前字符串的引用),并将其引用返回;类设计成不可变的另一个原因是安全,当你在调用其他方法时,比如调用一些系统级操作指令之前,可能会有一系列校验,如果是可变类的话,可能在你校验过后,它的内部的值又被改变了,这样有可能会引起严重的系统崩溃问题,这是迫使。为参数的构造函数,因为这三种数据类型,我们通常都是单独使用的。
Redis 单机版安装和使用 1. Redis下载官网地址:https://redis.io/中文官网地址:http://www.redis.cn/下载地址:http://download.redis.io/releases/2. Redis安装环境Redis 没有官方的 Windows 版本,所以建议在 Linux 系统上安装运行。3. Redis安装第一步:安装 C 语言需要的 GCC 环境yum install -y gcc-c++yum install -y wget第二步:下载并解压缩 Redis 源码
Redis 简介 1. 什么是 RedisRedis (Remote Dictionary Server)远程字典服务器,是用 C 语言开发的一个开源的高性能键值对( key-value )内存数据库。它提供了五种数据类型来存储值:字符串类型、散列类型、列表类型、集合类型、有序集合类型它是一种 NoSQL 数据存储。2. Redis发展历史2008年,意大利的一家创业公司 Merzia 推出了一款基于 MySQL 的网站实时统计系统 LLOOGG,然而没过多久该公司的创始人 Salvatore Sanfilip
缓存的读写模式 1. Cache Aside Pattern(常用)Cache Aside Pattern(旁路缓存),是最经典的 缓存 + 数据库 读写模式。读的时候,先读缓存,缓存没有的话,就读数据库,然后取出数据后放入缓存,同时返回响应。更新的时候,先更新数据库,然后再删除缓存。为什么是删除缓存,而不是更新缓存呢?缓存的值是一个结构:hash、list,更新数据需要遍历,先遍历(耗时)后修改懒加载,使用的时候才更新缓存,使用的时候才从 DB 中加载也可以采用异步的方式填充缓存,开启一个线程定时将
缓存的优势、代价 1. 使用缓存的优势1.1 提升用户体验用户体验(User Experience):用户在使用产品过程中建立起来的一种纯主观感受。缓存的使用可以提升系统的响应能力,大大提升了用户体验。1.2 减轻服务器压力客户端缓存、网络端缓存减轻应用服务器压力。服务端缓存减轻数据库服务器的压力。1.3 提升系统性能系统性能指标:响应时间、延迟时间、吞吐量、并发用户数和资源利用率等。缓存技术可以 缩短系统的响应时间,减少网络传输时间和应用延迟时间,提高系统的吞吐量,增加系统的并发用户数,提高了数据库资源的
常见缓存的分类 1. 客户端缓存传统互联网:页面缓存和浏览器缓存移动互联网:APP缓存1.1 页面缓存页面缓存:页面自身对某些元素或全部元素进行存储,并保存成文件。html5:Cookie、WebStorage(SessionStorage和LocalStorage)、WebSql、indexDB、Application Cache等开启步骤:设置 manifest 描述文件CACHE MANIFEST #commentjs/index.jsimg/bg.pnghtml 关联 manife
缓存基本思想 1. 缓存的使用场景1.1 数据库缓存,减轻数据库服务器压力一般情况下数据存在数据库中,应用程序直接操作数据库。当访问量上万,数据库压力增大,可以采取的方案有:读写分离,分库分表当访问量达到10万、百万,需要引入缓存。将已经访问过的内容或数据存储起来,当再次访问时先找缓存,缓存命中返回数据。不命中再找数据库,并回填缓存。1.2 提高系统响应数据库的数据是存在文件里,也就是硬盘。与内存做交换(swap)在大量瞬间访问时(高并发)MySQL 单机会因为频繁 IO 而造成无法响应。MyS
Neo4j 之 Admin 管理员操作 1. Neo4j - 数据库备份和恢复在对 Neo4j 数据进行备份、还原、迁移的操作时,首先要关闭 Neo4j./bin/neo4j stop数据备份到文件./bin/neo4j-admin dump --database=neo4j --to=/home/qyn.dump还原、迁移之前 ,关闭 Neo4j 服务。操作同上./bin/neo4j-admin load --from=/home/qyn.dump --database=neo4j --force重启服务./bin/neo
Neo4j 的事务,索引及约束 1. 事务为了保持数据的完整性和保证良好的事务行为,Neo4j 也支持 ACID 特性 。注意:所有对 Neo4j 数据库的数据修改操作都必须封装在事务里。默认的 isolation level 是 READ_COMMITTED。死锁保护已经内置到核心事务管理 。 ( Neo4j 会在死锁发生之前检测死锁并抛出异常。在异常抛出之前,事务会被标志为回滚。当事务结束时,事务会释放它所持有的锁,则该事务的锁所引起的死锁也就解除了,其他事务就可以继续执行。当用户需要时,抛出异常的事务可以尝试重新执行)
CQL 函数及多深度关系节点 1. CQL 函数1.1 字符串函数序号功能描述1UPPER它用于将所有字母更改为大写字母。2LOWER它用于将所有字母改为小写字母。3SUBSTRING它用于获取给定String的子字符串。4REPLACE它用于替换一个字符串的子字符串。1.2 聚合函数序号聚集功能描述1COUNT它返回由MATCH命令返回的行数。2MAX它从MATCH命令返回的一组行返回最大值。3MIN它返回由MAT
Neo4j CQL 1. CQL简介CQL代表 Cypher 查询语言。 像关系型数据库具有查询语言 SQL,Neo4j使用 CQL 作为查询语言。Neo4j CQL它是 Neo4j 图形数据库的查询语言。它是一种声明性模式匹配语言。它遵循 SQL 语法。它的语法是非常简单且人性化、可读的格式。常用的 Neo4j CQL 命令/条款如下:序号CQL命令/条作用1CREATE 创建创建节点,关系和属性2MATCH 匹配检索有关节点,关系和属性数据3RETURN 返回
Neo4j 基础 1. 什么是Neo4jNeo4j 是一个开源的无 Shcema 的,基于 java 开发的图形数据库,它将结构化数据存储在图中而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的 Java 持久化引擎。程序数据是在一个面向对象的、灵活的网络结构下,而不是严格、静态的表中,但可以享受到具备完全的事务特性、企业级的数据库的所有好处。图形数据库排行榜:https://db-engines.com/en/ranking/graph+dbms2. Neo4j 模块构建2.1 Neo4j 主要构建块