redis 做默认缓存

配置:

server.port=9999
# REDIS (RedisProperties)
# Redis\u6570\u636E\u5E93\u7D22\u5F15\uFF08\u9ED8\u8BA4\u4E3A0\uFF09
spring.redis.database=0
# Redis\u670D\u52A1\u5668\u5730\u5740
spring.redis.host=127.0.0.1
# Redis\u670D\u52A1\u5668\u8FDE\u63A5\u7AEF\u53E3
spring.redis.port=6379
# Redis\u670D\u52A1\u5668\u8FDE\u63A5\u5BC6\u7801\uFF08\u9ED8\u8BA4\u4E3A\u7A7A\uFF09
spring.redis.password=
# \u8FDE\u63A5\u6C60\u6700\u5927\u8FDE\u63A5\u6570\uFF08\u4F7F\u7528\u8D1F\u503C\u8868\u793A\u6CA1\u6709\u9650\u5236\uFF09
spring.redis.pool.max-active=8
# \u8FDE\u63A5\u6C60\u6700\u5927\u963B\u585E\u7B49\u5F85\u65F6\u95F4\uFF08\u4F7F\u7528\u8D1F\u503C\u8868\u793A\u6CA1\u6709\u9650\u5236\uFF09
spring.redis.pool.max-wait=-1
# \u8FDE\u63A5\u6C60\u4E2D\u7684\u6700\u5927\u7A7A\u95F2\u8FDE\u63A5
spring.redis.pool.max-idle=8
# \u8FDE\u63A5\u6C60\u4E2D\u7684\u6700\u5C0F\u7A7A\u95F2\u8FDE\u63A5
spring.redis.pool.min-idle=0
# \u8FDE\u63A5\u8D85\u65F6\u65F6\u95F4\uFF08\u6BEB\u79D2\uFF09
spring.redis.timeout=0 

 **************************************************************************
 */
@Configuration
@EnableCaching
public class RedisConfig extends CachingConfigurerSupport {

    @Bean
    public CacheManager cacheManager(RedisTemplate<Object, Object> redisTemplate) {
        RedisCacheManager cacheManager = new RedisCacheManager(redisTemplate);
        cacheManager.setDefaultExpiration(10);
        return cacheManager;
    }

    @Bean
    public RedisTemplate redisTemplate(RedisConnectionFactory connectionFactory) {
       RedisTemplate<Object, Object> template = new RedisTemplate<>();
       template.setConnectionFactory(connectionFactory);
       //使用Jackson2JsonRedisSerializer来序列化和反序列化redis的value值
       Jackson2JsonRedisSerializer serializer = new Jackson2JsonRedisSerializer(Object.class);
       ObjectMapper mapper = new ObjectMapper();
       mapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
       serializer.setObjectMapper(mapper);
       template.setValueSerializer(serializer);

       template.setKeySerializer(new JdkSerializationRedisSerializer());
       template.afterPropertiesSet();
       return template;
    }
}

使用:

    @Cacheable(cacheNames = {"cacheManager"}, cacheManager = "cacheManager")
    public String getvalue(){

        System.err.println("hahhhahahaahhahahahahahahahahahahahahahahahah");
        System.err.println("hahhhahahaahhahahahahahahahahahahahahahahahah");
        System.err.println("hahhhahahaahhahahahahahahahahahahahahahahahah");
        System.err.println("hahhhahahaahhahahahahahahahahahahahahahahahah");
        String aa="nihao ";
        return aa;
    }
    

  • @Cacheable(value="users", key="#id")

  •  

    public User find(Integer id) {

  •  

    returnnull;

  •  

    }


原文地址:https://www.cnblogs.com/lshan/p/10431462.html

时间: 2024-07-30 11:18:35

redis 做默认缓存的相关文章

Spring整合Redis做数据缓存(Windows环境)

当我们一个项目的数据量很大的时候,就需要做一些缓存机制来减轻数据库的压力,提升应用程序的性能,对于java项目来说,最常用的缓存组件有Redis.Ehcache和Memcached. Ehcache是用java开发的缓存组件,和java结合良好,直接在jvm虚拟机中运行,不需要额外安装什么东西,效率也很高:但是由于和java结合的太紧密了,导致缓存共享麻烦,分布式集群应用不方便,所以比较适合单个部署的应用. Redis需要额外单独安装,是通过socket访问到缓存服务,效率比Ehcache低,但

Python的Flask框架使用Redis做数据缓存的配置方法

flask配置redis 首先得下载flask的缓存插件Flask-Cache,使用pip下载. sudo pip install flask_cache 为应用扩展flask_cache app = Flask(__name__) 1 config = { 2 'CACHE_TYPE': 'redis', 3 'CACHE_REDIS_HOST': '127.0.0.1', 4 'CACHE_REDIS_PORT': 6379, 5 'CACHE_REDIS_DB': '', 6 'CACHE

redis 做为缓存服务器 注项!

作为缓存服务器,如果不加以限制内存的话,就很有可能出现将整台服务器内存都耗光的情况,可以在redis的配置文件里面设置: # maxmemory <bytes> #限定最多使用1.5GB内存 maxmemory 1536mb 如果内存到达了指定的上限,还要往redis里面添加更多的缓存内容,需要设置清理内容的策略: # maxmemory-policy noeviction #设置策略为最少使用的key对应的数据 maxmemory-policy volatile-lru 清理策略有多种,re

Redis做为缓存的几个问题

缓存理流程: 前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果. 1.缓存雪崩 解决方案3:如果缓存数据库是分布式部署,将热点数据均匀分布在不同搞得缓存数据库中. 解决方案4:设置热点数据永远不过期. 2.缓存穿透 解决方案3:接口层增加校验,如用户鉴权校验,id做基础校验,id<=0的直接拦截: 解决方案4:从缓存取不到的数据,在数据库中也没有取到,这时也可以将key-value对写为key-null,缓存

redis 做数据库缓存 php实现

<?php /*数据库的表 ( 'usr_id', 'name', 'face_score', 'usr_sex', 'usr_headimgurl' */ $redis = new Redis(); $redis->connect('127.0.0.1',6379); $usr_id ='2007'; //方法例一 //构造一个json字符串,存入redis,再读出来, 这里的key是 'mykey' . $usr_id 拼成一个字符串 $ret; $redis->set('mykey

Redis做为单机缓存使用建议

Redis做为单机缓存使用建议 前言 由于原来项目使用的缓存中间件无法在国产麒麟操作系统里面使用,准备在项目中引入redis做为单机缓存. 配置优化建议 配置redis服务以守护进程启动 Redis默认不是以守护进程的方式运行,可以通过将配置项daemonize修改为yes,这样启动redis-server后会自动在后台运行. 安全配置 将bind配置为127.0.0.1可以避免redis受外部攻击.另外使用requirepass配置项,可以设置访问redis服务器数据时先要输入密码. 一个小遗

Spring Boot使用redis实现数据缓存

基于Spring Boot 1.5.2.RELEASE版本,一方面验证与Redis的集成方法,另外了解使用方法. 集成方法 配置依赖 修改pom.xml,增加如下内容. <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 配置Redis

MySQL与Redis实现二级缓存

redis简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库 Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用 Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储 Redis支持数据的备份,即master-slave模式的数据备份 优势 性能极高 - Redis能读的速度是110

使用Redis做MyBatis的二级缓存

1. 介绍 使用mybatis时可以使用二级缓存提高查询速度,进而改善用户体验. 使用redis做mybatis的二级缓存可是内存可控<如将单独的服务器部署出来用于二级缓存>,管理方便. 2. 使用思路 2.1 配置redis.xml 设置redis服务连接各参数 2.1 在配置文件中使用 <setting> 标签,设置开启二级缓存: 2.2 在mapper.xml 中使用<cache type="com.demo.RedisCacheClass" /&g