数据库
文章平均质量分 82
jeanheo
这个作者很懒,什么都没留下…
展开
-
Redis数据介绍与指令大全
数据类型初识适用场景redis数据类型及操作详解redis 常用命令数据类型初识作为 Key-value 型数据库,Redis 也提供了键(Key)和键值(Value)的映射关系。但是,除了常规的数值或字符串,Redis 的键值还可以是以下形式之一:Lists (列表) Sets (集合) Sorted sets (有序集合) Hashes (哈希表)适用场景取最新的n个数据,如读原创 2016-03-09 22:34:55 · 6266 阅读 · 0 评论 -
MySQL分类与DDL语句实例详解
SQL分类DDL(Data Definition Languages):数据定义语言,定义不同数据段、数据库、表、列、索引等数据库对象,常用关键字包括create、drop、alter等DML(Data Manipulation Language):数据操控语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性:常用关键字包括insert、delete、update和select原创 2017-04-02 16:52:52 · 913 阅读 · 0 评论 -
MySQL权限系统详解
一、基本介绍MySQL 的权限系统主要存储在几个被称为 grant tables 的系统表中,即:mysql.User,mysql.db,mysql.Host,mysql.table_priv 和 mysql.column_priv。由于权限信息数据量比较小,而且访问又非常频繁,所以 Mysql 在启 动的时候,就会将所有的权限信息都 Load 到内存中保存在几个特定的结构中。所以才有我原创 2017-04-02 15:12:43 · 1522 阅读 · 0 评论 -
Mysql物理文件组成详解
一、 日志文件通过 show variables like 'log_%'; 可以看到mysql的日志配置信息错误日志(Error Log)记录了mysql运行过程中较为严重的警告和错误信息以及Mysql每次启动和关闭的详细信息,利用 MySQL 的 FLUSH LOGS 命令来告诉 MySQL 备份旧日志文件并生成新的日志文件。 备份文件名以“.old”结尾。二进制日志:原创 2017-04-02 14:14:14 · 1079 阅读 · 0 评论 -
MySql常用存储引擎介绍
MyISAM 存储引擎每一个表都存放为三个以表名命名的物理文件,包括存放表结构定义信息的.frm文件,存放表数据的.MYD文件和所有索引数据的.MYI文件MyISAM支持以下三种索引B-Tree索引:所有的索引节点都按照平衡树的数据结构来存储,所有的索引数据节点都在叶节点,B-Tree 可以显著减少定位记录时所经历的中间过程,从而加快存取速度R-Tree索引:与B-Tree索引类似原创 2017-04-02 14:09:58 · 513 阅读 · 0 评论 -
spring学习笔记(24)基于注解配置事务
使用注解的方式配置事务极为便利,在xml文件上只需声明我们的注解,然后即可直接在相应service类通过标注注解来完成事务配置。相对于配置在xml文件,简洁了需要,但配置信息分散,会导致易读性大大减弱。使用步骤:1. 在spring容器中注册注解搜索器目的是使分散在各业务类中的注解得以生效 tx:annotation-driven transaction-manage原创 2016-03-26 14:40:32 · 1413 阅读 · 1 评论 -
spring学习笔记(20)数据库事务并发与锁详解
多事务运行并发问题在实际应用中,往往是一台(或多台)服务器向无数客户程序提供服务,当服务器查询数据库获取数据时,如果没有采用必要的隔离机制,可能会存在数据库事务的并发问题,下面是一些常见的并发问题分类:1. 第一类丢失更新:撤销一个事务,其他事务已提交的更新数据覆盖2. 第二类丢失更新:一个事务覆盖另一个事务已提交的更新数据3. 脏读:一个事务读到另一个事务未提交的数据4. 虚读:一个事物读到原创 2016-03-10 00:21:49 · 13359 阅读 · 0 评论 -
spring学习笔记(21)编程式事务配置,service层概念引入
编程式事务配置实例导入访问数据库事务导入在我之前的文章《spring学习笔记(19)mysql读写分离后端AOP控制实例》中模拟数据库读写分离的例子,在访问数据库时使用的方法是:public <E> E add(Object object) { return (E) getSessionFactory().openSession().save(object);}通过直接开启session而原创 2016-03-25 22:59:46 · 2685 阅读 · 0 评论 -
spring学习笔记(23)基于tx/aop配置切面增强事务
在上一篇文章中,我们使用了声明式事务来配置事务,使事务配置从service逻辑处理中解耦出来。但它还存在一些缺点: 1. 我们只针对方法名的特定进行拦截,但无法利用方法签名的其它信息定位,如修饰符、返回值、方法入参、异常类型等。如果我们需要为同名不同参的同载方法配置不同事务就会出问题了。 2. 事务属性的配置串虽然能包含较多信息,但配置较易出错。针对这些问题,我们可以基于Schema,引入tx和原创 2016-03-26 01:34:24 · 5716 阅读 · 0 评论 -
spring学习笔记(22)声明式事务配置,readOnly无效写无异常
在上一节内容中,我们使用了编程式方法来配置事务,这样的优点是我们对每个方法的控制性很强,比如我需要用到什么事务,在什么位置如果出现异常需要回滚等,可以进行非常细粒度的配置。但在实际开发中,我们可能并不需要这样细粒度的配置。另一方面,如果我们的项目很大,service层方法很多,单独为每个方法配置事务也是一件很繁琐的事情。而且也可能会造成大量重复代码的冗杂堆积。面对这些缺点,我们首要想到的就是我们sp原创 2016-03-26 00:33:02 · 4360 阅读 · 0 评论 -
spring学习笔记(19)mysql读写分离后端AOP控制实例
在这里,我们接上一篇文章,利用JNDI访问应用服务器配置的两个数据源来模拟同时操作不同的数据库如同时操作mysql和oracle等。实际上,上个例子可能用来模拟mysql数据库主从配置读写分离更贴切些。既然如此,在本例中,我们就完成读写分离的模拟在web端的配置实例。续上次的例子,关于JNDI数据源的配置和spring datasource的配置这里不再重复。下面着重加入AOP实现DAO层动态原创 2016-03-25 00:19:31 · 1461 阅读 · 0 评论 -
spring学习笔记(18)使用JNDI模拟访问应用服务器多数据源实例
database2在这一篇文章中,我们要用JNDI访问我们的应用服务器配置好的多数据源。在本实例中,我们使用本地的tomcat服务器来模拟远程服务器,由于本地只有mysql数据库,故通过访问不同的mysql数据库不同database来模拟同时访问不同数据库如mysql和oracle等。 下面是我们的配置步骤。 1. 在服务器配置全局数据源 1. 在我们的tomcat服务器下找到c原创 2016-03-25 00:24:21 · 2544 阅读 · 2 评论 -
spring学习笔记(17)数据库配置[1]spring数据连接池详解
数据连接池在spring中,常使用数据库连接池来完成对数据库的连接配置,类似于线程池的定义,数据库连接池就是维护有一定数量数据库连接的一个缓冲池,一方面,能够即取即用,免去初始化的时间,另一方面,用完的数据连接会归还到连接池中,这样就免去了不必要的连接创建、销毁工作,提升了性能。当然,使用连接池,有一下几点是连接池配置所考虑到的,也属于配置连接池的优点,而这些也会我们后面的实例配置中体现: 1、原创 2016-03-24 22:59:31 · 6615 阅读 · 1 评论 -
MySQL增删改查之DML语句详解
DML语句主要指数据库对表记录的操作,包括表记录的插入(insert)、更新(update)、删除(delete)和查询(select)等以下我们的操作都基于下表进行:mysql> desc emp;+----------+---------------+------+-----+---------+-------+| Field | Type原创 2017-04-02 17:40:08 · 2190 阅读 · 0 评论