官网帮助文档例如以下
Installation
Download, extract and compile Redis with:
$ wget http://download.redis.io/releases/redis-3.0.2.tar.gz
$ tar xzf redis-3.0.2.tar.gz
$ cd redis-3.0.2
$ make
The binaries that are now compiled are available in the src
directory. Run Redis with:
$ src/redis-server
Or
$ src/redis-server redis.conf
You can interact with Redis using the built-in client:
$ src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
当然前提是你的linux连网了。而且已经安装gcc等c,c++执行环境
然后就能够与spring整合了
maven加上
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.6.2</version> <type>jar</type> <scope>compile</scope> </dependency>
applicationContext.xml分别加上
<!-- 属性文件位置 --> <bean id="annotationPropertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>classpath:config/properties/jdbc.properties</value> <value>classpath:config/properties/common.properties</value> <value>classpath:config/properties/log4j.properties</value> <value>classpath:config/properties/redis.properties</value> </list> </property> </bean>
<!-- 配置redis线程池 --> <bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig"> <!-- <property name="maxIdle" value="${redis.pool.maxIdle}" /> <property name="maxActive" value="${redis.pool.maxActive}" /> <property name="maxWait" value="${redis.pool.maxWait}" /> --> <property name="testOnBorrow" value="${redis.pool.testOnBorrow}" /> </bean> <!-- 连接redis --> <bean id="connectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" p:host-name="${redis.host}" p:port="${redis.port}" p:password="${redis.password}" p:pool-config-ref="poolConfig" /> <!-- redis调用须要的bean --> <bean id="redisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate"> <property name="connectionFactory" ref="connectionFactory" /> </bean>redis.properties配置例如以下
redis.pool.maxTotal=100 redis.pool.maxIdle=20 redis.pool.maxWait=1000 redis.pool.testOnBorrow=true redis.host=10.13.3.101 redis.port=6379 redis.password=代码例如以下
package com.kugou.security.service.impl; import javax.annotation.Resource; import org.springframework.dao.DataAccessException; import org.springframework.data.redis.connection.RedisConnection; import org.springframework.data.redis.core.RedisCallback; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.serializer.RedisSerializer; import org.springframework.stereotype.Service; import com.kugou.security.entity.SysUser; import com.kugou.security.service.SysUserService; @Service public class SysUserServiceimpl implements SysUserService { @Resource RedisTemplate<String, SysUser> redisTemplate; public boolean addUser(final SysUser sysUser) { boolean result = this.redisTemplate.execute(new RedisCallback<Boolean>() { @Override public Boolean doInRedis(RedisConnection connection) throws DataAccessException { RedisSerializer<String> serializer = redisTemplate.getStringSerializer(); byte[] key = serializer.serialize(sysUser.getId()); byte[] name = serializer.serialize(sysUser.getNickname()); return connection.setNX(key, name); } }); return result; } public String get(final String userId) { String result = redisTemplate.execute(new RedisCallback<String>() { public String doInRedis(RedisConnection connection) throws DataAccessException { RedisSerializer<String> serializer = redisTemplate.getStringSerializer(); byte[] key = serializer.serialize(userId); byte[] value = connection.get(key); if (value == null) { return null; } String name = serializer.deserialize(value); return name; } }); return result; } }
測试例如以下
package test.kugou; import org.junit.runner.RunWith; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.transaction.TransactionConfiguration; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "classpath:config/spring/applicationContext.xml" }) @TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = true) public class BaseTest { public void testA(){ } }
package test.kugou.security.dao.service.impl; import javax.annotation.Resource; import org.junit.Test; import com.kugou.security.entity.SysUser; import com.kugou.security.service.SysUserService; import test.kugou.BaseTest; public class TestSysUserService extends BaseTest { @Resource SysUserService sysUserService; @Test public void testRedis(){ SysUser sysUser=new SysUser(); sysUser.setId("aa"); sysUser.setNickname("test"); boolean result=this.sysUserService.addUser(sysUser); System.out.println(result); String nickName=this.sysUserService.get("aa"); System.out.println(nickName); } }
执行成功