spring整合redis初步

来源:互联网 发布:淘宝站外活动有哪些 编辑:程序博客网 时间:2024/05/21 10:29

1.jar包导入

                <dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-redis</artifactId><version>1.5.0.RELEASE</version></dependency><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.6.2</version></dependency>

2.xml配置(applicationContext-activiti.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"default-autowire="byName"><bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"><property name="maxIdle" value="${redis.maxIdle}"></property><property name="minEvictableIdleTimeMillis" value="${redis.minEvictableIdleTimeMillis}"></property><property name="numTestsPerEvictionRun" value="${redis.numTestsPerEvictionRun}"></property><property name="timeBetweenEvictionRunsMillis" value="${redis.timeBetweenEvictionRunsMillis}"></property></bean><bean id="jedisConnectionFactory"class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"destroy-method="destroy"><property name="poolConfig" ref="jedisPoolConfig"></property><property name="hostName" value="${redis.hostName}"></property><property name="port" value="${redis.port}"></property><property name="timeout" value="${redis.timeout}"></property><property name="usePool" value="${redis.usePool}"></property></bean><bean id="jedisTemplate" class="org.springframework.data.redis.core.RedisTemplate"><property name="connectionFactory" ref="jedisConnectionFactory"></property><property name="keySerializer"><beanclass="org.springframework.data.redis.serializer.StringRedisSerializer" /></property><property name="valueSerializer"><beanclass="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer" /></property></bean></beans> 


3.编写测试类,这里只列举字符对象的存取和引用对象的存取,其他类型将会在以后的文章介绍(大概吧)

import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.Serializable;import javax.annotation.Resource;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.data.redis.core.ValueOperations;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations = { "classpath*:applicationContext*.xml" })public class RedisTest {@Resourcepublic RedisTemplate<String, Object> redisTemplate;@Testpublic void SetValueTest() throws IOException {ValueOperations<String, Object> operation = redisTemplate.opsForValue();operation.set("param", "你好world");System.out.println(operation);}@Testpublic void GetValueTest() throws IOException, ClassNotFoundException {ValueOperations<String, Object> operation = redisTemplate.opsForValue();System.out.println(operation.get("param"));}@Testpublic void getStringSerializableTest() throws Exception{User user = new User();user.setName("nihao");ByteArrayOutputStream baos = new ByteArrayOutputStream();ObjectOutputStream oos = new ObjectOutputStream(baos);oos.writeObject(user);byte[] bytes = baos.toByteArray();ValueOperations<String, Object> operation = redisTemplate.opsForValue();operation.set("param", bytes);ByteArrayInputStream bais = new ByteArrayInputStream((byte[]) operation.get("param"));ObjectInputStream ois = new ObjectInputStream(bais);User user2 = (User) ois.readObject();System.out.println(user2.getName());}public static void main(String[] args) throws Exception {User user = new User();user.setName("nihao");ByteArrayOutputStream baos = new ByteArrayOutputStream();ObjectOutputStream oos = new ObjectOutputStream(baos);oos.writeObject(user);byte[] bytes = baos.toByteArray();ByteArrayInputStream bais = new ByteArrayInputStream(bytes);ObjectInputStream ois = new ObjectInputStream(bais);User user2 = (User) ois.readObject();System.out.println(user2.getName());}}class User implements Serializable {private static final long serialVersionUID = 1L;private String name;private String password;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}}




原创粉丝点击