自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 Redis中的SortedSet存储类型

Sorted-Sets和Sets类型极为相似,它们都是字符串的集合,都不允许重复的成员出现在一个Set中。它们之间的主要差别是Sorted-Sets中的每一个成员都会有一个分数(score)与之关联,Redis正是通过分数来为集合中的成员进行从小到大的排序。然而需要额外指出的是,尽管Sorted-Sets中的成员必须是唯一的,但是分数(score)却是可以重复的。在Sorted-Set中添加、删除或

2017-03-30 23:36:17 2014

原创 Redis中的set存储类型

在Redis中,我们可以将Set类型看作为没有排序的字符集合,和List类型一样,我们也可以在该类型的数据值上执行添加、删除或判断某一元素是否存在等操作。和List类型不同的是,Set集合中不允许出现重复的元素,这一点和C++标准库中的set容器是完全相同的。换句话说,如果多次添加相同元素,Set中将仅保留该元素的一份拷贝。和List类型相比,Set类型在功能上还存在着一个非常重要的特性,即在服务器

2017-03-30 23:21:08 4390

原创 Redis中的HashSet存储类型

可以将Redis中的Hashes类型看成具有String Key和String Value的map容器。所以该类型非常适合于存储值对象的信息。如Username、Password和Age等。如果Hash中包含很少的字段,那么该类型的数据也将仅占用很少的磁盘空间。每一个Hash可以存储4294967295个键值对。 HashSet相关命令 (1)HSET key field value:为指定的K

2017-03-30 23:06:38 11721

原创 Redis中List存储类型

在Redis中,List类型是按照插入的顺序排序的字符串链表。和数据结构中的普通链表一样,可以在其头部(left)和尾部(right)添加新的元素。在插入元素时,如果该键不存在,Redis将为该键创建一个新的链表。如果链表中所有的元素均被移除,那么该键也会从数据库中删除。 从元素的插入和删除效率的角度来看,我们从链表的两头进行插入或者删除,这将会是非常高效的操作,即使链表中已经存储了百万条记录,该

2017-03-29 23:26:02 2917

原创 Redis中string数据存储类型

Redis是一个key-value数据库,支持主从同步,数据存在内存中,性能卓越。可以用来存储字符串,哈希结构,链表,集合,因此,常用来提供数据结构服务。 字符串类型是Redis中最为基础的存储类型,它在Redis中是二进制安全的,这就意味着该类型可以接收任何格式的数据,在Redis中字符串类型的Value最多可以容纳的数据长度为512M。 String相关命令: (1)APPEND key

2017-03-28 20:07:45 1909 2

原创 myBatis持久层缓存

缓存的意义:将用户经常查询的数据当在缓存(内存)中,用户去查询数据就不用从磁盘(关系型数据库数据文件)查询,而是从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。 myBatis提供一级缓存和二级缓存:myBatis一级缓存是一个SqlSession级别,sqlsession只能访问自己的一级缓存的数据,二级缓存是跨sqlsession的,是mapper级别的缓存,对于mapper级别的

2017-03-28 18:26:50 1278

原创 myBatis的延迟加载

延迟加载:在进行数据查询时,为了提高数据库查询性能,尽量使用单表查询,因为单表查询比多表关联查询速度要快。如果查询单表就可以满足需求,一开始先查询单表,当需要关联信息时,再关联查询,当需要关联信息再查询这个叫延迟加载。 mybatis中resultMap提供延迟加载功能,通过resultMap配置延迟加载。 配置mybatis支持延迟加载 设置项有: lazyLoadingEnabled:

2017-03-28 17:51:27 310

原创 myBatis中原始dao开发方式与Mapper代理方式

首先了解几个常用的类: (1)SqlSessionFactoryBuilder:是以工具类方式来使用,需要创建sqlSessionFactory就new一个SqlSessionFactoryBuilder。 (2)sqlSessionFactory:正常开发时,以单例方式管理sqlSessionFactory,整个系统运行过程中sqlSessionFactory只有一个实例,将来和spring整

2017-03-28 12:34:21 583

原创 myBatis开发过程

(1)编写SqlMapConfig.xml文件 (2)编写mapper.xml; (3)通过配置文件,编程创建SqlSessionFactory; (4)通过SqlSessionFactory获取SqlSession (5)通过SqlSession操作数据库,如执行添加,更新,删除,需要调用SqlSession.Commit(); (6)SqlSession使用完后进行关闭。 例如:向用

2017-03-28 11:49:32 322

原创 myBatis架构

mybatis介绍 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis,实质上Mybatis对ibatis进行一些改进。 目前mybatis在github上托管。git(分布式版本控制,当前比较流程) MyBatis是一个优秀的持久层框架,它对jdbc的操

2017-03-28 11:24:24 287

原创 Velocity模板的学习

Velocity:是一个基于Java的模板引擎,可以让视图的设计者在web页面中引用java代码中定义的数据对象和命令。web designers只需要将精力用于视图外观设计上,而java程序员只需要关心如何写出高效简洁的java对象以实现业务逻辑。Velocity会将它们组装到一起,相比传统的jsp,velocity彻底的将避免在视图设计中出现java代码。 VTL(Velocity Templ

2017-03-28 10:53:34 2680

原创 myBatis中的动态sql

在美团一面被问到这个问题,所以就来好好总结一下。 首先要知道动态sql是什么?在传统的JDBC方法中,在组合复杂的SQL语句的时候,我们需要去拼接,稍有不注意,例如少了一个空格,就会导致错误,很不方便。而myBatis的动态sql正是为了解决这种问题的,其通过if,choose,when,otherwise,trim,set,foreach标签,可以组合成非常灵活的SQL语句,从而提高开发人员的效

2017-03-28 10:07:09 1799

原创 单类模式

单类模式,确保某一个类只能有一个实例,而且自行实例化并向整个系统提供这个实例,通用代码为:public class Singleton { private static final Singleton singleton=new Singleton(); private Singleton(){ } public static Singleton getSingleto

2017-03-28 09:21:52 335

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除