本文主要是介绍SpringDataRedis入门到实战,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
5.Spring Data Redis入门实例
准备工作
(1)构建Maven工程 SpringDataRedisDemo
(2)引入Spring相关依赖、引入JUnit依赖 (内容参加其它工程)
(3)引入Jedis和SpringDataRedis依赖
pom.xml
4.0.0
com.ldc.org
SpringDataRedisDemo
0.0.1-SNAPSHOT
<!-- 集中定义依赖版本号 -->
<properties><junit.version>4.12</junit.version><spring.version>4.2.4.RELEASE</spring.version>
</properties><dependencies><!-- Spring --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jms</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>${spring.version}</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.9</version></dependency><!-- 缓存 --><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.8.1</version></dependency><dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-redis</artifactId><version>1.7.2.RELEASE</version></dependency></dependencies>
(4)在src/main/resources下创建properties文件夹,建立redis-config.properties
redis.host=127.0.0.1
redis.port=6379
redis.pass=
redis.database=0
redis.maxIdle=300
redis.maxWait=3000
redis.testOnBorrow=true
(5)在src/main/resources下创建spring文件夹 ,创建applicationContext-redis.xml
<context:property-placeholder location=“classpath*:properties/*.properties” />
maxIdle :最大空闲数 maxWaitMillis:连接时的最大等待毫秒数 testOnBorrow:在提取一个jedis实例时,是否提前进行验证操作;如果为true,则得到的jedis实例均是可用的; 6.值类型操作 package test;import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4Cla***unner;
@RunWith(SpringJUnit4Cla***unner.class)
@ContextConfiguration(locations=“classpath:spring/applicationContext-redis.xml”)
public class TestValue {
@Autowired
private RedisTemplate redisTemplate;@Test
public void setValue() {redisTemplate.boundValueOps("name").set("ldc");
}@Test
public void getValue() {String string=(String) redisTemplate.boundValueOps("name").get();System.out.println(string);
}@Test
public void deleteValue() {redisTemplate.delete("name");
}
}
7. Set类型操作
package test;
import java.util.Set;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4Cla***unner;
@RunWith(SpringJUnit4Cla***unner.class)
@ContextConfiguration(locations=“classpath:spring/applicationContext-redis.xml”)
public class TestSet {
@Autowired
private RedisTemplate redisTemplate;@Test
public void setValue() {//存进去和顺序无关redisTemplate.boundSetOps("nameSet").add("曹操");redisTemplate.boundSetOps("nameSet").add("刘备");redisTemplate.boundSetOps("nameSet").add("孙权");
}@Test
public void getValue() {Set set=redisTemplate.boundSetOps("nameSet").members();System.out.println(set);
}@Test
public void removeValue() {//单独的移除其中一个元素redisTemplate.boundSetOps("nameSet").remove("孙权");
}@Test
public void delete() {//移除全部redisTemplate.delete("nameSet");
}
}
8.List类型操作
package test;
import java.util.List;
import java.util.Set;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4Cla***unner;
@RunWith(SpringJUnit4Cla***unner.class)
@ContextConfiguration(locations=“classpath:spring/applicationContext-redis.xml”)
public class TestList {
@Autowired
private RedisTemplate redisTemplate;/*** 右压栈*/
@Test
public void setValue1() {redisTemplate.boundListOps("nameList1").rightPush("刘备");redisTemplate.boundListOps("nameList1").rightPush("关羽");redisTemplate.boundListOps("nameList1").rightPush("张飞");
}/*** 显示右压栈的值*/
@Test
public void getValue1() {List list=redisTemplate.boundListOps("nameList1").range(0, 10);System.out.println(list);
}/*** 左压栈*/
@Test
public void setValue2() {redisTemplate.boundListOps("nameList2").leftPush("刘备");redisTemplate.boundListOps("nameList2").leftPush("关羽");redisTemplate.boundListOps("nameList2").leftPush("张飞");
}/*** 显示左压栈的值*/
@Test
public void getValue2() {List list=redisTemplate.boundListOps("nameList2").range(0, 10);System.out.println(list);
}/*** 按照索引查询*/
@Test
public void searchByIndex() {String string=(String) redisTemplate.boundListOps("nameList2").index(1);System.out.println(string);
}/*** 删除其中一个元素*/
@Test
public void removeValue() {//单独的移除其中一个元素,第一个参数是移除的个数,不是位置的下表redisTemplate.boundSetOps("nameList1").remove(1,"关羽");
}/*** 删除整个List集合*/
@Test
public void delete() {//单独的移除其中一个元素,第一个参数是移除的个数,不是位置的下表redisTemplate.delete("nameList1");
}
}
9.Hash类型操作
package test;
import java.util.List;
import java.util.Set;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4Cla***unner;
@RunWith(SpringJUnit4Cla***unner.class)
@ContextConfiguration(locations=“classpath:spring/applicationContext-redis.xml”)
public class TestHash {
@Autowired
private RedisTemplate redisTemplate;/*** 存值*/
@Test
public void setValue() {redisTemplate.boundHashOps("nameHash").put("a", "唐僧");redisTemplate.boundHashOps("nameHash").put("b", "悟空");redisTemplate.boundHashOps("nameHash").put("c", "八戒");redisTemplate.boundHashOps("nameHash").put("d", "沙僧");
}/*** 取所有key*/
@Test
public void getKey() {Set keys=redisTemplate.boundHashOps("nameHash").keys();System.out.println(keys);
}/*** 取所有value*/
@Test
public void getValue() {List list=redisTemplate.boundHashOps("nameHash").values();System.out.println(list);
}/*** 根据key取值*/
@Test
public void searchValueByKey() {String string=(String) redisTemplate.boundHashOps("nameHash").get("b");System.out.println(string);
}/*** 移除某个小key的值*/
@Test
public void removeValueByKey() {redisTemplate.boundHashOps("nameHash").delete("c");
}/*** 删除其中一个元素*/
@Test
public void removeValue() {//单独的移除其中一个元素,第一个参数是移除的个数,不是位置的下表redisTemplate.boundSetOps("nameList1").remove(1,"关羽");
}/*** 删除整个List集合*/
@Test
public void delete() {//单独的移除其中一个元素,第一个参数是移除的个数,不是位置的下表redisTemplate.delete("nameList1");
}
}
龙华大道1号http://www.kinghill.cn/LongHuaDaDao1Hao/index.html
这篇关于SpringDataRedis入门到实战的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!