`

springboot:redis(jedis)

阅读更多
application.properties
==========================================
redis.host=host
redis.port=6379
redis.timeout=2000
redis.password=pwd

#最大分配的对象数
redis.pool.maxTotal=1024
#最大能够保持idel状态的对象数
redis.pool.maxIdle=200
redis.pool.minIdle=10
#当池内没有返回对象时,最大等待时间
redis.pool.maxWait=1000
#当调用borrow Object方法时,是否进行有效性检查
redis.pool.testOnBorrow=true
==========================================
RedisConfiguration.java
==========================================
@Configuration
public class RedisConfiguration {

    @Bean(name= "redis.pool.config")
    public JedisPoolConfig jedisPoolConfig (@Value("${redis.pool.maxTotal}")int maxTotal,
                                            @Value("${redis.pool.maxIdle}")int maxIdle,
                                            @Value("${redis.pool.minIdle}")int minIdle,
                                            @Value("${redis.pool.testOnBorrow}")boolean testOnBorrow,
                                            @Value("${redis.pool.maxWait}")int maxWaitMillis) {
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(maxTotal);
        config.setMaxIdle(maxIdle);
        config.setMaxIdle(minIdle);
        config.setTestOnBorrow(testOnBorrow);
        config.setMaxWaitMillis(maxWaitMillis);
        return config;
    }

    @Bean(name= "redis.pool")
    @Autowired
    public JedisPool jedisPool(@Qualifier("redis.pool.config") JedisPoolConfig config,
                               @Value("${redis.host}")String host,
                               @Value("${redis.port}")int port,
                               @Value("${redis.timeout}")int timeout,
                               @Value("${redis.password}")String password) {
        return new JedisPool(config, host, port, timeout, password);
    }

}
==========================================
RedisClient.java
==========================================
@Component
public class RedisClient {

    @Autowired
    private JedisPool jedisPool;

    public void set(String key, String value) throws Exception {
        Jedis jedis = null;
        try {
            jedis = jedisPool.getResource();
            jedis.set(key, value);
        } finally {
            //返还到连接池
            jedis.close();
        }
    }

    public String get(String key) throws Exception  {

        Jedis jedis = null;
        try {
            jedis = jedisPool.getResource();
            return jedis.get(key);
        } finally {
            //返还到连接池
            jedis.close();
        }
    }

}
==========================================
CityServiceImpl.java
==========================================
    private static String key = "TEST_KEY_12381290380";

    @Autowired
    RedisClient redisClient;

    public City findCityById(Long id) {
        try {
            System.out.println(redisClient.get(key));
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    @Override
    public Long saveCity(City city) {
        try {
            redisClient.set(key, "SSSSS");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
分享到:
评论

相关推荐

    SpringBoot集成Redis

    SpringBoot集成Redis是一个常见的开发需求,它使得应用可以利用Redis的高性能、内存存储特性进行数据缓存和快速访问。在本项目中,我们将探讨如何在SpringBoot应用中配置和使用Redis,以及如何利用Redis实现登录缓存...

    SpringBoot 整合 Redis、mybatis 完整项目源码下载

    2. **添加依赖**: 在`pom.xml`文件中添加Spring Data Redis和Redisson(或Jedis)的依赖,它们是SpringBoot与Redis交互的客户端库。 3. **RedisTemplate与StringRedisTemplate**: SpringBoot提供了这两个模板类,...

    springboot集成redis集群,redis安装包配置

    在本文中,我们将深入探讨如何在SpringBoot应用中集成Redis集群以及如何配置Redis服务器。首先,Redis是一个开源的、基于键值对的数据存储系统,常用于数据库、缓存和消息中间件。它以其高性能和易用性而备受青睐。...

    Springboot+redis集成

    SpringBoot可以通过`JedisCluster`或`Lettuce`客户端来访问Redis集群。 **五、高并发与分布式** 在高并发场景下,Redis可作为缓存服务器,减少数据库的访问压力。通过`@Cacheable`、`@CacheEvict`等注解,...

    myredis_redis_springboot_springboot+Redis_DEMO_

    1. 添加依赖:在`pom.xml`或`build.gradle`文件中引入Spring Data Redis起步依赖,这将自动包含Spring Data Redis的实现库以及连接Redis所需的Jedis库。 2. 配置Redis:在`application.properties`或`application....

    springboot基于redis分布式锁

    SpringBoot是一个流行的Java微服务框架,它简化了与各种技术栈的集成,包括Redis这样的高性能键值存储系统。本教程将深入探讨如何在SpringBoot应用中实现基于Redis的分布式锁。 首先,Redis之所以常被用作分布式锁...

    springboot-redis事务

    在SpringBoot中集成Redis,我们通常会使用`spring-boot-starter-data-redis`依赖,它包含了连接Redis的 lettuce 或 jedis 客户端。在application.properties或yaml配置文件中,我们需要设置Redis的主机地址、端口、...

    springboot-redis-demo

    SpringBoot与Redis的整合是现代Java Web开发中的常见实践,特别是在构建高性能、高并发的应用时。Redis是一款开源的、基于键值对的数据存储系统,它支持多种数据结构,如字符串、哈希、列表、集合和有序集合,适用于...

    SpringBoot学习秒杀一、SpringBoot集成Redis (使用Jedis实现)

    【SpringBoot集成Redis (使用Jedis实现)】 在Spring Boot应用中集成Redis是一个常见的需求,因为Redis作为一个高性能的键值数据库,常用于缓存、消息队列等多种场景。本篇文章将介绍如何通过Jedis库来实现Spring ...

    spring boot redis-jedis

    本篇文章将深入探讨如何在Spring Boot项目中集成Redis,并使用Jedis客户端进行操作。 首先,我们要在Spring Boot项目中引入Redis和Jedis的依赖。在`pom.xml`文件中,我们需要添加以下依赖: ```xml <groupId>org...

    SpringBoot + Redis实现事件的发布订阅功能

    - 在`pom.xml`中添加Spring Data Redis和Jedis客户端的依赖。 - 配置`application.yml`或`application.properties`,包括Redis服务器的地址、端口、密码等信息。 2. **创建RedisTemplate Bean** - Spring Boot会...

    springboot整合redis.zip

    SpringBoot整合Redis是现代Web应用中常见的数据存储与缓存技术结合方式,它极大地简化了在SpringBoot项目中配置和使用Redis的过程。Redis是一个高性能的键值对存储系统,适用于处理大量数据,常用于缓存、消息队列、...

    springboot + redis 整合 maven项目源码

    这些依赖包括`spring-boot-starter-data-redis`,它包含了Spring Data Redis的基本功能,以及可能需要的`lettuce`或`jedis`客户端库,它们是连接Redis服务器的Java客户端。 ```xml <groupId>org.springframework....

    springboot+redis单机与集群

    在IT行业中,Spring Boot和Redis是两个非常重要的技术组件,它们在构建高效、可扩展的...在实际操作中,可以参考提供的`springboot-redis`压缩包文件,它可能包含了示例代码、配置文件和相关文档,帮助你快速上手实践。

    springboot-redis缓存+分布锁

    Spring Boot可以通过Jedis或Lettuce客户端与Redis通信,创建一个分布式锁服务,使用`SETNX`尝试获取锁,如果成功则设置过期时间,确保锁在一定时间后自动释放。此外,为提高锁的健壮性,可以考虑使用`Redlock`算法,...

    springBoot集成Redis源码

    - Jedis:轻量级的Redis客户端,适合小型项目。它的API直接且简单,但功能相对较弱。 - Lettuce:功能更强大,支持Redis协议的最新特性,如 pub/sub 和事务。它的API设计更面向对象,更适合大型复杂应用。 6. **...

    springboot连接redis简单示例

    spring.redis.jedis.pool.max-active=8 spring.redis.jedis.pool.max-idle=8 spring.redis.jedis.pool.min-idle=0 ``` 现在我们已经配置好Spring Boot连接Redis的基本设置,下面将创建DAO层来操作Redis。首先定义一...

    springboot分布式自增id_javaredis_源码

    标题中的“springboot分布式自增id_javaredis_源码”表明我们关注的是一个使用Spring Boot实现的分布式系统中的自增ID生成方案,其中利用了Java Redis客户端库。在分布式环境中,确保全局唯一且顺序递增的ID是常见的...

    springboot整合redis

    你可以使用Jedis或Lettuce客户端库直接操作Redis API,或者利用Spring Data Redis的Reactive API进行响应式编程。 总结来说,SpringBoot整合Redis能够帮助我们构建高效、可扩展的Web应用程序。通过缓存机制,我们...

Global site tag (gtag.js) - Google Analytics