• redis示例


    1. 引入redis相关包

     <!-- redis 相关包-->
        <dependency>
          <groupId>org.springframework.data</groupId>
          <artifactId>spring-data-redis</artifactId>
          <version>1.8.6.RELEASE</version>
        </dependency>
        <dependency>
          <groupId>redis.clients</groupId>
          <artifactId>jedis</artifactId>
          <version>2.9.0</version>
        </dependency>

    2. 配置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"
           xmlns:context="http://www.springframework.org/schema/context"
           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">
    
        <context:component-scan base-package="com.shsxt" />
        <context:annotation-config/>
    
        <bean id="sentinelConfiguration" class="org.springframework.data.redis.connection.RedisSentinelConfiguration">
            <constructor-arg name="master" value="mymaster" />
            <constructor-arg name="sentinelHostAndPorts">
                <set>
                    <value>172.16.54.135:26380</value>
                </set>
            </constructor-arg>
        </bean>
    
        <bean id="connectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
            <property name="password" value="123456" />
            <property name="usePool" value="true" />
            <constructor-arg name="sentinelConfig" ref="sentinelConfiguration" />
        </bean>
    
        <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
            <property name="connectionFactory" ref="connectionFactory" />
        </bean>
    
    
    
    </beans>
    applicationContext.xml

    3. 编写redis配置文件

    /**
     * Java 配置的操作步骤:
     *  1、编写 RedisConfig 的配置类
     *  2、编写测试类
     *  3、添加 Spring 的配置文件
     *  4、启动测试查看结果
     */
    //@Configuration
    public class RedisConfig {
    
        @Bean
        public StringRedisTemplate redisTemplate(){
            StringRedisTemplate stringRedisTemplate = new StringRedisTemplate();
            stringRedisTemplate.setConnectionFactory(jedisConnectionFactory());
            return stringRedisTemplate;
        }
    
        @Bean
        public static RedisConnectionFactory jedisConnectionFactory(){
            RedisSentinelConfiguration sentinelConfiguration = new RedisSentinelConfiguration().master("mymaster")
                    .sentinel("172.16.54.135",26380);
            JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory(sentinelConfiguration);
            jedisConnectionFactory.setPassword("123456");
            return jedisConnectionFactory;
        }
    }
    RedisConfig

    4. 编写启动文件,支持xml和java配置两种方法

    package com.shsxt;
    
    import org.springframework.beans.BeansException;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.FileSystemXmlApplicationContext;
    import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
    import org.springframework.data.redis.core.BoundValueOperations;
    import org.springframework.data.redis.core.RedisTemplate;
    import org.springframework.data.redis.core.StringRedisTemplate;
    
    public class Application {
    
        /**
         * 方法一、java配置
         * @param args
         */
        /*
        public static void main(String[] args) {
    
            try {
                ApplicationContext context = new FileSystemXmlApplicationContext("classpath:applicationContext.xml");
    
                JedisConnectionFactory connectionFactory = context.getBean(JedisConnectionFactory.class);
    
                StringRedisTemplate redisTemplate = new StringRedisTemplate(connectionFactory);
                BoundValueOperations<String,String> boundValueOperations = redisTemplate.boundValueOps("abcd");
    
                boundValueOperations.set("11111");
                System.out.println("设置完毕。。。");
                String result = boundValueOperations.get();
                System.out.println("获取值为:" + result);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        */
    
        /**
         * 方法二、xml 配置
         * @param args
         */
        public static void main(String[] args) {
    
            try {
                ApplicationContext context = new FileSystemXmlApplicationContext("classpath:applicationContext.xml");
    
                RedisTemplate redisTemplate = context.getBean(RedisTemplate.class);
                BoundValueOperations<String,String> boundValueOperations = redisTemplate.boundValueOps("abde111");
                boundValueOperations.set("111111");
                System.out.println("设置完毕");
                String result = boundValueOperations.get();
                System.out.println("获取值为:"+ result);
    
            } catch (BeansException e) {
                e.printStackTrace();
            }
        }
    }
    View Code
  • 相关阅读:
    Populating Next Right Pointers in Each Node I&&II ——II仍然需要认真看看
    MySQL源码分析以及目录结构
    mysql分表的三种方法
    Hadoop学习
    关系型数据库ACID
    九种基本数据类型和它们的封装类
    java中堆和栈的区别
    软件测试-----Graph Coverage作业
    Lab1--关于安装JUnit的简要描述
    动态导入(import)和静态导入(import)的区别
  • 原文地址:https://www.cnblogs.com/zhaye/p/10922380.html
Copyright © 2020-2023  润新知