spring-data-redis模块详解
来源:互联网 发布:网络销售模式有哪些 编辑:程序博客网 时间:2024/06/06 18:00
一.背景
spring-data是spring框架对数据处理的模块,其中包括数据库dao层处理,以及elasticsearch等等都有封装,而本文主要介绍spring-data-redis模块即对redis数据库的数据处理。
二.pom maven依赖
目前spring官网spring-data-redis最新稳定版本为2.0.1版本,根据官网介绍,目前该版本主要对spring框架3.x版本的实现,所以不支持3.x版本。
由于spring-test里面依赖了spring-beans,spring-core,spring-context等,所以只需导入spring-test maven依赖
<dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>2.0.1.RELEASE</version></dependency><dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>3.1.2.RELEASE</version> <scope>test</scope></dependency><dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version></dependency><dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.8.2</version> <scope>test</scope></dependency>
三.配置# Redis settingsredis.host=localhostredis.port=6479redis.pass=redis.maxIdle=300redis.maxActive=600redis.maxWait=1000redis.testOnBorrow=true<context:property-placeholder location="classpath:redis.properties" /><bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig"> <property name="maxIdle" value="${redis.maxIdle}" /> <!--<property name="maxActive" value="${redis.maxActive}" /> <property name="maxWait" value="${redis.maxWait}" />--> <property name="testOnBorrow" value="${redis.testOnBorrow}" /></bean><bean id="connectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" p:host-name="${redis.host}" p:port="${redis.port}" p:password="${redis.pass}" p:pool-config-ref="poolConfig"/><bean id="redisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate"> <property name="connectionFactory" ref="connectionFactory" /></bean>四.代码实现
1.spring-data-redis代码运用
import org.junit.Test;import org.springframework.data.redis.connection.RedisConnection;import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;import org.springframework.data.redis.core.StringRedisTemplate;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;import javax.annotation.Resource;@ContextConfiguration(locations = {"classpath*:applicationContext.xml"})public class RedisTest extends AbstractJUnit4SpringContextTests { @Resource(name = "connectionFactory") private JedisConnectionFactory connectionFactory; @Resource(name = "redisTemplate") private StringRedisTemplate redisTemplate; @Test public void testPing(){ RedisConnection redisConnection = connectionFactory.getConnection(); String ping = redisConnection.ping(); System.out.println(ping); } @Test public void testStr(){ /*redisTemplate.execute(new RedisCallback<Boolean>() { @Nullable @Override public Boolean doInRedis(RedisConnection redisConnection) throws DataAccessException { return null; } });*/ redisTemplate.execute((RedisConnection con) -> { byte[] key = "str".getBytes(); byte[] value = "hello world".getBytes(); con.set(key, value); return true; }); } @Test public void testList(){ redisTemplate.execute((RedisConnection con) -> { byte[] key = "list".getBytes(); byte[] ele1 = "java".getBytes(); byte[] ele2 = "c".getBytes(); con.rPush(key, ele1, ele2); return true; }); }}2.jedis(redis java客户端代码实现)//redis对String进行操作public static void redisString(Jedis jedis){ System.out.println(jedis.get("str"));}//redis对List进行操作public static void redisList(Jedis jedis){ List<String> list=jedis.lrange("list", 0, 10); for(String ele:list){ System.out.println(ele); }}//redis对Map进行操作public static void redisMap(Jedis jedis){ Set<String> keys=jedis.hkeys("hash"); List<String> values=jedis.hvals("hash"); Map<String, String> maps=jedis.hgetAll("hash"); System.out.println(keys); System.out.println(values); System.out.println(maps);}//redis对Set进行操作public static void redisSet(Jedis jedis){ Set<String> sets=jedis.smembers("set"); System.out.println(sets);}public static void main(String[] args) { Jedis jedis=new Jedis("localhost"); System.out.println("Connection to server sucessfully"); //查看服务是否运行 System.out.println("Server is running: "+jedis.ping()); System.out.println(jedis.keys("*")); redisMap(jedis);}详细代码,请移步:https://github.com/followwwind/springproject.git
阅读全文
0 0
- spring-data-redis模块详解
- Spring-Data-Redis配置详解
- spring-data-redis配置详解
- redis:spring-data-redis
- redis Jredis spring-data-redis
- spring data redis 操作redis
- Spring Data Redis (Redis Support)
- Spring Data Redis(Redis Transactions)
- Spring Data Redis(Redis Scripting)
- Spring Data Redis(Redis Cluster)
- Spring Data Redis(Redis Repositories)
- spring data redis 操作redis
- SPRING DATA - REDIS配置
- spring data redis试用
- SPRING DATA - REDIS配置
- SPRING DATA - REDIS配置
- Spring-Data-Redis特性
- Spring Data Redis
- 148. Sort List
- 第七章 数据库设计 E-R模型
- JNI
- 理解字符串拼接
- 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
- spring-data-redis模块详解
- cut操作详解
- 利用AJAX后台查询数据库返回json,前台生成表格
- 物理层的功能与特性
- MNIST(二):基于CNN的mnist识别
- n个字符全排列
- ubuntu添加环境变量
- 简单的数据结构(总结)只涉及用数组或链表实现
- CAFFE学习笔记(五)用caffe跑自己的jpg数据