redis在linux下安裝並測試(在spring下調用)

來源:互聯網
上載者:User

標籤:redis   linux   spring   

官網協助文檔如下

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

You can interact with Redis using the built-in client:

$ src/redis-cliredis> set foo barOKredis> 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=100redis.pool.maxIdle=20redis.pool.maxWait=1000redis.pool.testOnBorrow=trueredis.host=10.13.3.101redis.port=6379redis.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;@Servicepublic class SysUserServiceimpl implements SysUserService {@ResourceRedisTemplate<String, SysUser> redisTemplate;public boolean addUser(final SysUser sysUser) {boolean result = this.redisTemplate.execute(new RedisCallback<Boolean>() {@Overridepublic 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 {@ResourceSysUserService sysUserService;@Testpublic 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);}}

 運行成功



著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

redis在linux下安裝並測試(在spring下調用)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.