Spring Data Redis入门示例:基于Jedis及底层API (二)
使用底层API:RedisConnectionFactory和RedisConnection可以直接操作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),需要进行多数重复性工作,效率低下,下一节介绍更高层次的封装。												
											Spring Data Redis入门示例:基于Jedis及底层API (二)的更多相关文章
- Spring Data Redis入门示例:基于RedisTemplate (三)
		
使用底层API:RedisConnection操作Redis,需要对数据进行手动转换(String <---->byte),需要进行多数重复性工作,效率低下:org.springframe ...
 - Spring Data Redis入门示例:数据序列化 (四)
		
概述 RedisTemplate默认使用的是基于JDK的序列化器,所以存储在Redis的数据如果不经过相应的反序列化,看到的结果是这个样子的: 可以看到,出现了乱码,在程序层面上,不会影响程序的运行, ...
 - Spring Data Redis入门示例:Hash操作(七)
		
将对象存为Redis中的hash类型,可以有两种方式,将每个对象实例作为一个hash进行存储,则实例的每个属性作为hash的field:同种类型的对象实例存储为一个hash,每个实例分配一个field ...
 - Spring Data Redis入门示例:字符串操作(六)
		
Spring Data Redis对字符串的操作,封装在了ValueOperations和BoundValueOperations中,在集成好了SPD之后,在需要的地方引入: // 注入模板操作实例 ...
 - Spring Data Redis入门示例:程序配置(五)
		
单机配置 redis.properties配置 #redis的服务器地址 redis.host=127.0.0.1 #redis的服务端口 redis.port=6379 #客户端超时时间单位是毫秒 ...
 - spring data redis使用示例
		
1. 配置依赖文件 <dependencies> <dependency> <groupId>org.springframework.data</groupI ...
 - 关于在项目中使用spring data redis与jedis的选择
		
项目中需要用到redis,主要用来作为缓存,redis的客户端有两种实现方式,一是可以直接调用jedis来实现,二是可以使用spring data redis,通过spring的封装来调用. 应该使用 ...
 - Spring Data Redis  ——  快速入门
		
环境要求:Redis 2.6及以上,javase 8.0及以上: 一.Spring Data Redis 介绍 Spring-data-redis是spring的一部分,提供了在srping应用中通过 ...
 - Spring Data Redis与Jedis的选择(转)
		
说明:内容可能有点旧,需要在业务上做权衡. Redis的客户端有两种实现方式,一是可以直接调用Jedis来实现,二是可以使用Spring Data Redis,通过Spring的封装来调用.应该使用哪 ...
 
随机推荐
- Java Socket实战之五:使用加密协议传输对象
			
转自:http://developer.51cto.com/art/201202/317547.htm 前面几篇博文提到了Socket中一些常用的用法,但是对于一些有安全要求的应用就需要加密传输的数据 ...
 - mysql 里面的isnull()和ifnull() is null 和 is not null
			
usergrade表 1.找到里面username是null的行 SELECT * FROM usergrade WHERE ISNULL(USERNAME) SELECT * FROM usergr ...
 - VI/VIM修改Tab为4个空格
			
配置方法 在当前用户目录下创建或修改~/.vimrc Root用户下修改/etc/virc 和 /etc/vimrc set ts= set softtabstop= set expandtab se ...
 - CF767C Garland 【树形dp】By cellur925
			
一句话题意:给定一个树,树有点权,要求把树的某些边删去,使树变成三个部分,每部分点权值和相等. 我们很容易想到,再读入的时候记录所有点的点权之和,点权除以3是最后权值相等的值.如果不能整除3一定无解, ...
 - SpringMVC传递multiple类型select后台Controller的接收方法
			
Spring MVC在接收集合请求参数时,需要在Controller方法的集合参数里前添加@RequestBody,而@RequestBody默认接收的enctype (MIME编码)是applica ...
 - 用WEKA进行数据挖掘
			
学习于IBM教学文档 数据挖掘学习与weka使用 第二部 分分类和集群 分类 vs. 群集 vs. 最近邻 在我深入探讨每种方法的细节并通过 WEKA 使用它们之前,我想我们应该先理解每个模型 - 每 ...
 - 贪心/数学 Codeforces Round #212 (Div. 2) A. Two Semiknights Meet
			
题目传送门 /* 贪心/数学:还以为是BFS,其实x1 + 4 * k = x2, y1 + 4 * l = y2 */ #include <cstdio> #include <al ...
 - Java中的流(1)流简介
			
简介 1.在java中stream代表一种数据流(源),java.io的底层数据元.(比作成水管)2.InputStream 比作进水管,水从里面流向你,你要接收,read3.OutputStream ...
 - 转】R利剑NoSQL系列文章 之 Cassandra
			
原博文出自于: http://blog.fens.me/category/%E6%95%B0%E6%8D%AE%E5%BA%93/page/3/ 感谢! R利剑NoSQL系列文章 之 Cassandr ...
 - .net 发送邮件验证码
			
using System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Net.Ma ...