达内培训课程体系设计符合企业用人细则. 与阿里、百度、 Adobe 、红帽、微软等签订合作协议,共同制定行业培训细则,所学课程受国际厂商认可.
整体框架
一丶Redis使用场景
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API.
我们都知道,在日常的应用中,数据库瓶颈是最容易出现的.数据量太大和频繁的查询,由于磁盘IO性能的局限性,导致项目的性能越来越低.
这时候,基于内存的缓存框架,就能解决我们很多问题.例如Memcache,Redis等.将一些频繁使用的数据放入缓存读取,大大降低了数据库的负担.提升了系统的性能.
注意事项:
由于我们之前引用了mongo配置文件的properties读取,所以这里的<context:property-placeholder location="classpath:redis.properties"/>在项目加载的时候无法识别里面的占位符错误"Could not resolve placeholder",主要原因是:
达内培训课程体系设计符合企业用人细则. 与阿里、百度、 Adobe 、红帽、微软等签订合作协议,共同制定行业培训细则,所学课程受国际厂商认可.
Spring容器采用反射扫描的发现机制,在探测到Spring容器中有一个org.springframework.beans.factory.config.PropertyPlaceholderConfigurer的Bean就会停止对剩余PropertyPlaceholderConfigurer的扫描(Spring 3.1已经使用PropertySourcesPlaceholderConfigurer替代PropertyPlaceholderConfigurer了).
而<context:property-placeholder/>这个基于命名空间的配置,其实内部就是创建一个PropertyPlaceholderConfigurer Bean而已.换句话说,即Spring容器仅允许最多定义一个PropertyPlaceholderConfigurer(或<context:property-placeholder/>),其余的会被Spring忽略掉.
二丶RedisTemplate的使用
这个类作为一个模版类,提供了很多快速使用redis的api,而不需要自己来维护连接,事务.
最初的时候,我创建的BaseRedisDao是继承自这个类的.继承的好处是我的每个Dao中,都可以自由的控制序列化器,自由的控制自己是否需要事务,这个先不需要了解,跟着我目前的这种配置方法来即可.
达内培训课程体系设计符合企业用人细则. 与阿里、百度、 Adobe 、红帽、微软等签订合作协议,共同制定行业培训细则,所学课程受国际厂商认可.