Spring redis 的使用

本文介绍如何在Spring Boot项目中配置并使用Redis数据库,包括依赖引入、连接池设置及RedisTemplate操作。同时,展示了如何利用JSON库进行对象与字符串的相互转换,实现数据在Redis中的存储和读取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

maven

<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-databind</artifactId>
  <version>2.9.0</version>
</dependency>


<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
  <groupId>redis.clients</groupId>
  <artifactId>jedis</artifactId>
  <version>2.9.0</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.springframework.data/spring-data-redis -->
<dependency>
  <groupId>org.springframework.data</groupId>
  <artifactId>spring-data-redis</artifactId>
  <version>1.5.2.RELEASE</version>
</dependency>

<dependency>
  <groupId>net.sf.json-lib</groupId>
  <artifactId>json-lib</artifactId>
  <version>2.4</version>
  <classifier>jdk15</classifier>
</dependency>

applicationContext.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"
       xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig">
        <property name="maxIdle" value="50"/>
        <property name="minIdle" value="1"/>
        <property name="maxWaitMillis" value="3000"/>
    </bean>

    <bean id="connectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
        <property name="hostName" value="127.0.0.1"/>
        <property name="port" value="6379"/>
        <property name="usePool" value="true"/>
        <property name="database" value="0"/>
        <property name="poolConfig" ref="poolConfig"/>
    </bean>
    <!-- XxxxxTemplate  XxxxSupport -->
    <bean id="stringSerializer" class="org.springframework.data.redis.serializer.StringRedisSerializer">

    </bean>
    <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
        <property name="connectionFactory" ref="connectionFactory"/>
        <property name="stringSerializer" ref="stringSerializer"/>
    </bean>

    <bean id="stringRedisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate">
        <property name="connectionFactory" ref="connectionFactory"/>
    </bean>
    
</beans>

java代码

 public static void main(String[] args) {
            ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");
            RedisTemplate rs= (RedisTemplate) ac.getBean("stringRedisTemplate");
            String name="admin";
            user user=new user();
            user.setName("123");
            user.setUser("456");
            List<user>list=new ArrayList<>();
            list.add(user);
            // 对象转json  json 转字符串
            String op= JSONArray.fromObject(user).toString();
            System.out.println(op);
        /**
         * 数据 放到 redis 中
         * 当前时间有效时间 10 秒钟
         */
        rs.opsForValue().set(name,op,10, TimeUnit.SECONDS);
            String type= (String) rs.opsForValue().get(name);

            /**
             * 字符串转 json
             */
            JSONArray json_test = JSONArray.fromObject(type);
            System.out.println(json_test);
            /**
             * json 转对象
             */
            List<user>list1=(List<user>) JSONArray.toCollection(json_test, user.class);
            for (com.user stu : list1) {
                System.out.println(stu.getName());
                System.out.println(stu.getUser());
            }
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值