`

Spring Cache注解+Redis(二)

阅读更多

之前有写过一篇Spring Cache注解+Redis

今天对Cache+Redis配置的优化。

 

首页还是Jar的依赖,请看之前的文章,这里不做赘述。

然后后XML的配置:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:cache="http://www.springframework.org/schema/cache"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
       http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache.xsd"
       default-autowire="byName">

    <context:property-placeholder
            location="classpath*:config/redis.properties" ignore-unresolvable="true"/>

    <!-- 启用缓存注解功能 -->
    <cache:annotation-driven cache-manager="cacheManager"/>

    <!--Redis Cache 配置-->
    <bean id="cacheManager" class="org.springframework.data.redis.cache.RedisCacheManager">
        <constructor-arg name="redisOperations" ref="redisTemplate"/>
    </bean>

    <!-- redis 相关配置 -->
    <bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig">
        <property name="maxIdle" value="${redis.maxIdle}"/>
        <property name="maxWaitMillis" value="${redis.maxWait}"/>
        <property name="testOnBorrow" value="${redis.testOnBorrow}"/>
    </bean>

    <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
        <property name="poolConfig" ref="poolConfig"/>
        <property name="port" value="${redis.port}"/>
        <property name="hostName" value="${redis.host}"/>
        <property name="timeout" value="${redis.timeout}"/>
        <property name="password" value="${redis.pwd}"/>
        <property name="database" value="${redis.database}"/>
    </bean>

    <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
        <property name="connectionFactory" ref="jedisConnectionFactory"/>
        <!--<property name="defaultSerializer" ref="stringRedisSerializer"/>-->
        <property name="keySerializer" ref="stringRedisSerializer"/>
        <!--<property name="valueSerializer" ref="stringRedisSerializer"/>-->
        <property name="hashKeySerializer" ref="stringRedisSerializer"/>
        <!--<property name="hashValueSerializer" ref="stringRedisSerializer"/>-->
    </bean>

    <bean id="stringRedisSerializer" class="org.springframework.data.redis.serializer.StringRedisSerializer"/>

</beans>

 redis.properties请看上一篇文章;

 

 

缓存注解使用:

在service实现方法上加注解

 

    @Override
    @Cacheable(value = "ShardingTableCache", key = "'shardingTableName:' + #appId + ':' + #appUserId")
    public Integer getShardingTableName(String appId, String appUserId) {
        return mapper.getShardingTableName(appId, appUserId);
    }

    @Override
    @CacheEvict(value = "ShardingTableCache", key = "'shardingTableName:' + #appId + ':' + #appUserId")
    public int updateShardingTable(String appId, String appUserId, int shardingTable) {
        return mapper.updateShardingTable(appId, appUserId, shardingTable);
    }

 

 

使用redis客户端RedisDesktopManager查看效果如下图:



 

中间遇到的问题: 插入的hash类型的key前面会有一堆的\xac\xed\x00\x05t\x00\tb 这种东西

处理方法:redisTemplate中添加<property name="keySerializer" ref="stringRedisSerializer"/>等

 

  • 大小: 4.8 KB
分享到:
评论

相关推荐

    spring + ehcache + redis两级缓存

    在缓存管理方面,Spring 提供了 Spring Cache抽象层,可以方便地集成各种缓存实现,如Ehcache、Hazelcast或Redis。 **Ehcache** 是一个广泛使用的Java缓存库,适合在内存中存储数据。它提供了一种快速访问最近使用...

    spring+mybatis+redis缓存入门

    在IT行业中,构建高效、可扩展的Web应用是至关重要的,而Spring框架、MyBatis持久层框架以及Redis缓存系统的结合使用,是实现这一目标的常见方式。本教程主要针对初学者,介绍如何将这三者整合,实现数据缓存功能,...

    springcache+redis springboot maven

    在这个项目中,"springcache+redis"的整合意味着我们要利用Spring Cache的特性,将缓存存储在Redis中,以提升应用的性能。 首先,Spring Cache提供了`@Cacheable`、`@CacheEvict`和`@Caching`等注解,允许我们在...

    spring cache + redis 主从

    此外,还需要掌握如何将Spring Cache与Redis整合,以便在应用中高效使用缓存机制。 一、Redis的主从配置 1. 准备工作: - 操作系统要求:Ubuntu 16.04。 - Redis版本:选择适合的稳定版本,例如redis-4.0.9.tar....

    SpringCache+Redis实现高可用缓存解决方案.docx

    ### SpringCache+Redis实现高可用缓存解决方案 #### 前言 在现代软件开发中,缓存技术是提升系统性能的重要手段之一。Spring Boot框架自带的`ConcurrentMapCacheManager`虽然简单易用,但对于分布式环境下的应用来...

    基于spring+mybatis+redis 封装的高易用性的框架.zip

    结合Spring Cache抽象,还可以实现自动化的缓存管理,进一步提升系统的响应速度。 在"frameworks-master"这个项目中,我们可以期待看到以下内容: 1. 应用的主配置文件,如`application.properties`或`application...

    springboot+mysql+redis集成Demo

    - **缓存管理**:在业务逻辑中,使用`@Cacheable`、`@CacheEvict`等Spring Cache注解,声明式地控制哪些方法的结果应被缓存,何时需要清除缓存。 5. **redisdemo.sql**: 这个文件很可能是MySQL数据库的初始化脚本...

    spring+redis

    项目可能包含使用Spring的RedisTemplate或Jedis客户端库来操作Redis,包括设置、获取、过期策略等操作,并且可以结合Spring的Cache Abstraction进行缓存管理。 Spring MVC作为Spring的一部分,是用于构建Web应用的...

    springboot+mybatisplus+redis+spring cache缓存

    本项目利用Spring Boot、MyBatis Plus、Redis以及Spring Cache来构建一个高效的缓存系统。下面将详细阐述这些技术及其整合使用的知识点。 **1. Spring Boot** Spring Boot是Spring框架的简化版,它提供了快速开发...

    spring boot+spring cache实现两级缓存(redis+caffeine)

    "Spring Boot+Spring Cache实现两级缓存(Redis+Caffeine)" 知识点一:缓存与两级缓存 缓存是将数据从读取较慢的介质上读取出来放到读取较快的介质上,如磁盘--&gt;内存。平时我们会将数据存储到磁盘上,如:数据库。...

    配置Spring4.0注解Cache+Redis缓存的用法

    本篇文章主要介绍了详解配置Spring4.0注解Cache+Redis缓存的用法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    SpringCache与redis集成,优雅的缓存解决方案.docx

    SpringCache与Redis集成,优雅的缓存解决方案 SpringCache是一种基于Java的缓存解决方案,它可以与Redis集成,提供了一种优雅的缓存解决方案。在本文中,我们将对SpringCache与Redis集成的优雅缓存解决方案进行详细...

    SpringBoot项目+MybatisPlus使用+Redis缓存

    1. **MybatisPlus整合Redis**:在需要缓存的查询方法上添加`@Cacheable`注解,通过Spring Cache抽象层,将结果存储到Redis中。下次请求相同数据时,直接从缓存获取,提高响应速度。 2. **RedisTemplate与...

    springboot+redis+cache+mybatis

    在本项目中,"springboot+redis+springcache测试项目"是基于Spring Boot框架构建的,目的是演示如何集成Redis缓存以及Spring Cache来优化数据库访问性能。MyBatis作为持久层框架,负责与MySQL数据库进行交互。以下是...

    redis-cluster和spring集成,基于cache注解

    综上所述,"redis-cluster和spring集成,基于cache注解" 的项目是一个使用 Spring Cache 集成 Redis 集群的实例,旨在通过注解的方式简化缓存管理,提高应用性能。开发者可以通过导入提供的项目,快速了解和实践这一...

    springcache-redis:Spring缓存+spring数据redis+redis研究

    标题中的“springcache-redis”指的是Spring Cache与Redis的整合应用,它是在Spring框架中使用Redis作为缓存机制的一种方式。Spring Cache是Spring框架的一部分,它提供了一种抽象的缓存层,可以用来缓存方法的执行...

    Spring+redis整合demo2

    Spring Cache模块可以结合Redis实现缓存功能。通过注解`@Cacheable`、`@CacheEvict`和`@Caching`,可以很容易地在方法级别启用缓存,提高性能。 ```java @Cacheable(value = "myCache", key = "#id") public ...

    spring+mvc+hibernate集成redis缓存

    &lt;bean id="cacheManager" class="org.springframework.cache.redis.RedisCacheManager"&gt; &lt;bean class="org.springframework.data.redis.cache.RedisCacheConfiguration"&gt; &lt;!-- 可选配置:缓存默认设置 --&gt; &lt;!...

    分布式系统框架spring+redis+sso

    3. 集成Redis:设置Redis客户端,实现缓存策略,比如使用Spring Cache注解简化缓存操作。 4. 实现SSO:配置Spring Security,创建统一的登录界面和验证中心,处理跨域问题,确保安全的会话管理。 5. 单元测试与集成...

    Spring Cache手动清理Redis缓存

    Spring Cache手动清理Redis缓存 Spring Cache是Spring框架中的一种缓存机制,它可以将缓存数据存储在Redis中。然而,在某些情况下,我们需要手动清理Redis缓存,以便释放内存空间或更新缓存数据。在本文中,我们将...

Global site tag (gtag.js) - Google Analytics