zoukankan      html  css  js  c++  java
  • Spring Data Redis入门示例:基于Jedis及底层API (二)

    使用底层API:RedisConnectionFactoryRedisConnection可以直接操作Redis,下面是一个简单的例子:

    Maven依赖

    <properties>
    	<jedis.version>2.9.0</jedis.version>
    	<spring.redis.version>1.8.2.RELEASE</spring.redis.version>
    </properties>
    <dependencies>
    	<!-- jedis -->
    	<dependency>
    		<groupId>redis.clients</groupId>
    		<artifactId>jedis</artifactId>
    		<version>${jedis.version}</version>
    	</dependency>
    	
    	<!-- spring-data-redis -->
    	<dependency>
    		<groupId>org.springframework.data</groupId>
    		<artifactId>spring-data-redis</artifactId>
    		<version>${spring.redis.version}</version>
    	</dependency>
     </dependencies>
    

    配置redis.properties

    redis.host=127.0.0.1
    redis.port=6379
    

    配置Spring-data-redis.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:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd">
    
    <!-- 读取properties文件 -->
    <bean id="propertyConfigurerForProject1"
    	class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    	<property name="order" value="1" />
    	<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
    	<property name="ignoreResourceNotFound" value="true" />
    	<property name="ignoreUnresolvablePlaceholders" value="true"/>
    	<property name="locations">
    		<list>
    			<value>classpath*:redis.properties</value>
    		</list>
    	</property>
    </bean> 
       
    <!-- Jedis ConnectionFactory -->
    <bean id="jedisConnectionFactory"  
          class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"
          p:host-name="${redis.host}"
          p:port="${redis.port}" />
    </beans>
    

    操作Redis

    public static void main( String[] args )
    {
        ApplicationContext context = new ClassPathXmlApplicationContext("classpath:spring-data-redis.xml");
    	
    	 // 直接通过连接进行操作
         JedisConnectionFactory jedisConnectionFactory = context.getBean(JedisConnectionFactory.class);
         RedisConnection redisConnection = jedisConnectionFactory.getConnection();
        
         // 设置值
         redisConnection.set("name".getBytes(),"wangdh".getBytes());
       
         // 获取值
         byte[] value = redisConnection.get("name".getBytes());
         System.out.println(new String(value));
    }
    

    示例说明

    1. Spring Data Redis使用的是1.8.2.RELEASE,最新的2.x版本对配置进行了封装,并且基于Spring Cache的实现使用起来不习惯,就没选用2.x版本。
    2. Spring Data Redis默认对数据进行了基于JDK的序列化,所以在redis中看到的数据是二进制类型数据,更改序列化方式即可。
    3. 使用底层API:RedisConnection操作Redis,需要对数据进行手动转换(String byte),需要进行多数重复性工作,效率低下,下一节介绍更高层次的封装。
  • 相关阅读:
    win7下new出的内存默认是无执行权限的
    【转】 C++获得系统时间,以及1970年1月1日到现在的毫秒数
    【收藏】获取系统安装软件(vc++源码)
    opencv编译以及测试
    Vim命令合集
    在SSMS中打开DTS Package
    秋日的阳光
    又一位部门同事离职
    不要让你的孩子成为留守儿童,更不让你的父母成为空巢老人
    又将有一位同事离职
  • 原文地址:https://www.cnblogs.com/Jxwz/p/8372302.html
Copyright © 2011-2022 走看看