应用场景 我们希望通过缓存来减少对关系型数据库的查询次数,减轻数据库压力.在执行DAO类的select***(), query***()方法时,先从Redis中查询有没有缓存数据,如果有则直接从Redis拿到结果,如果没有再向数据库发起查询请求取数据. 序列化问题 要把domain object做为key-value对保存在redis中,就必须要解决对象的序列化问题.Spring Data Redis给我们提供了一些现成的方案: JdkSerializationRedisSerializer.…
Spring Security教程(二):自定义数据库查询   Spring Security自带的默认数据库存储用户和权限的数据,但是Spring Security默认提供的表结构太过简单了,其实就算默认提供的表结构很复杂,也不一定能满足项目对用户信息和权限信息管理的要求.那么接下来就讲解如何自定义数据库实现对用户信息和权限信息的管理. 一.自定义表结构 这里还是用的mysql数据库,所以pom.xml文件都不用修改.这里只要新建三张表即可,user表.role表.user_role表.其中u…
spring Cache https://www.ibm.com/developerworks/cn/opensource/os-cn-spring-cache/ spring+redis 缓存 http://blog.csdn.net/defonds/article/details/48716161 http://www.cnblogs.com/vinozly/p/5459556.html…
前言 之前已经写过一篇文章介绍SpringBoot整合Spring Cache,SpringBoot默认使用的是ConcurrentMapCacheManager,在实际项目中,我们需要一个高可用的.分布式的缓存解决方案,使用默认的这种缓存方式,只是在当前进程里缓存了而已.Spring Cache整合Redis来实现缓存,其实也不是一件复杂的事情,下面就开始吧. 关于Spring Cache的运用,请参考[快学SpringBoot]快速上手好用方便的Spring Cache缓存框架 新建一个Sp…
一.使用开源包(spring-data-redis) 1.引入jar包 <dependency>      <groupId>org.springframework.data</groupId>      <artifactId>spring-data-redis</artifactId>      <version>1.8.11.RELEASE</version>  </dependency> 2.配置Spr…
spring data redis 序列化有jdk .jackson.string 等几种类型,自带的jackson不熟悉怎么使用,于是用string类型序列化,把对象先用工具类转成string,代码如下: application.xml中配置 <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory&qu…
问题描述 场景:我们的应用系统是分布式集群的,可横向扩展的.应用中某个接口操作满足以下一个或多个条件: 1. 接口运行复杂代价大, 2. 接口返回数据量大, 3. 接口的数据基本不会更改, 4. 接口数据一致性要求不高(只需满足最终一致). 此时,我们会考虑将这个接口的返回值做缓存.考虑到上述条件,我们需要一套高可用分布式的缓存集群,并具备持久化功能,备选的有ehcache集群或redis主备(sentinel). ehcache集群因为节点之间数据同步通过组播的方式,可能带来的问题:节点间大量…
业务上需要把一些数据放到redis里面,但是系统逻辑代码差不多编写完成了,怎么整?用Spring Cache啊,对既有业务逻辑侵袭极小. 于是尝试调查了一下,遇到一些问题分享一下(本文使用Spring MVC,不使用Spring Boot) 1.配置: <!--启用缓存--> <cache:annotation-driven cache-manager="cacheManager"/> <bean id="cacheManager" c…
一.数据库表结构 1.  分类表:dict_type 2.  子项表:dict_entry 二.页面维护功能示意图: 1.  分类管理 点击子项管理进入子项管理页面 2.子项管理 三.数据字典添加到缓存: 数据字典为了读取效率高效,减少与数据库的交互,通常会把数据字典所有数据添加到缓存当中,如果是一台服务器部署,只需放到本机中就可以,如果需要部署到多台服务器分布式部署的话需要把数据字典同步到Redis服务器中. 1.  springboot 在dictTypeService中把数据字典放到本机缓…
<关系型数据库与非关系型数据库> 关系数据库:mysql.oracle.DB2.SQL Server非关系数据库:Redis(缓存数据库).MongodDB(处理海量数据).Memcached(缓存数据库)<类型:文档型.key-value型.图形> <关系型数据库与非关系型数据库主要区别>1.数据存储方式不同关系型数据库存储在硬盘中,非关系型数据库存储在缓存中,在读取数据速度方面非关系型数据库相比关系型数据库要快, 2.扩展性不同关系型数据库存储为表格式很容易横向扩展…