###0.安裝配置redis
安裝配置redis請參照個人博客http://my.oschina.net/u/2312022/blog/637288
###1.添加jar包
在pom.xml中添加java
<!-- redis --> <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.1.RELEASE</version> </dependency>
###2.建立spring-redis.xml文件android
<?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:context="http://www.springframework.org/schema/context" 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 http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd"> <context:component-scan base-package="com.readygo.pet.redis" annotation-config="true"></context:component-scan> <!-- <context:property-placeholder location="classpath:redis.properties"/> --> <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"> <property name="maxIdle" value="10"></property> <property name="maxWaitMillis" value="20000"></property> </bean> <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"> <property name="hostName" value="127.0.0.1"></property> <property name="port" value="6379"></property> <property name="password" value=""></property> <property name="poolConfig" ref="jedisPoolConfig"></property> </bean> <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate"> <property name="connectionFactory" ref="jedisConnectionFactory"></property> <!-- 序列化方式 --> <property name="keySerializer" > <bean class="org.springframework.data.redis.serializer.StringRedisSerializer"></bean> </property> <property name="hashKeySerializer"> <bean class="org.springframework.data.redis.serializer.StringRedisSerializer"></bean> </property> <property name="valueSerializer"> <bean class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer"></bean> </property> <property name="hashValueSerializer"> <bean class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer"></bean> </property> </bean> <!-- 對String的操做進行封裝 --> <bean id="stringRedisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate"> <property name="connectionFactory" ref="jedisConnectionFactory"></property> </bean> </beans>
###3.將spring-redis.xml放入IOC中,即啓動工程須要加載該文件web
<import resource="spring-mvc.xml" /> <import resource="spring-mybatis.xml" /> <import resource="spring-redis.xml"/>
<servlet> <servlet-name>pets</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>pets</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping>
###4.建包,建立源文件
SysInfo類redis
package com.readygo.pet.redis; import java.io.Serializable; public class SysInfo implements Serializable { private static final long serialVersionUID = 1L; private String appName; private String appStoreId; private String appIosId; private String appIosVersion; private String appIosUpdFlag; private String appAndroidVersion; private String appAndroidUpdFlag; private String androidDownloadUrl; private String userProtocolUrl; private String dataServerUrl; private String resourceServerUrl; private String webpageServerUrl; private String splashImgUrl; private String aboutContent; private String appImg; private String companyTelephone; private String companyWebsite; private String updTime; private Integer updUid; private String updPid; private String addTime; private Integer addUid; private String addPid; }
SysInfoDao類spring
package com.readygo.pet.redis; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisOperations; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.ValueOperations; import org.springframework.stereotype.Repository; @Repository public class SysInfoDao { @Autowired private RedisTemplate<String, SysInfo> redisTemplate; public boolean save(SysInfo sysInfo) { ValueOperations<String, SysInfo> valueOperations = redisTemplate.opsForValue(); //valueOperations.set(order.getId(), order); boolean cc = valueOperations.setIfAbsent(sysInfo.getAppName(), sysInfo); return cc; } public SysInfo read(String name) { ValueOperations<String, SysInfo> valueOperations = redisTemplate.opsForValue(); SysInfo order = valueOperations.get(name); return order; } public void delete(String name) { ValueOperations<String, SysInfo> valueOperations = redisTemplate.opsForValue(); RedisOperations<String, SysInfo> redisOperations = valueOperations.getOperations(); redisOperations.delete(name); } }
###5.應用redisspring-mvc
@Service public class SysInfoServiceImpl implements SysInfoService{ @Autowired private SysInfoMapper sysInfoMapper; @Autowired SysInfoDao sysInfoDao; /** * 獲取系統信息 * @param request * 系統數據信息 * * @return 系統信息 */ public SysInfoRel getSysInfo() throws Exception{ SysInfoRel sysInfo = new SysInfoRel(); SysInfo sysInfoRedis = sysInfoDao.read("家有寵物"); if (sysInfoRedis == null) { sysInfo = sysInfoMapper.selectByPrimaryKey(); SysInfo sysInfoRedis2 = new SysInfo(); sysInfoRedis2.setAppName(sysInfo.getAppName()); sysInfoRedis2.setAppStoreId(sysInfo.getAppStoreId()); sysInfoRedis2.setAppIosId(sysInfo.getAppIosId()); sysInfoRedis2.setAppIosVersion(sysInfo.getAppIosVersion()); sysInfoRedis2.setAppIosUpdFlag(sysInfo.getAppIosUpdFlag()); sysInfoRedis2.setAppAndroidVersion(sysInfo.getAppAndroidVersion()); sysInfoRedis2.setAppAndroidUpdFlag(sysInfo.getAppAndroidUpdFlag()); sysInfoRedis2.setAndroidDownloadUrl(sysInfo.getAndroidDownloadUrl()); sysInfoRedis2.setUserProtocolUrl(sysInfo.getUserProtocolUrl()); sysInfoRedis2.setDataServerUrl(sysInfo.getDataServerUrl()); sysInfoRedis2.setResourceServerUrl(sysInfo.getResourceServerUrl()); sysInfoRedis2.setAboutContent(sysInfo.getAboutContent()); sysInfoRedis2.setWebpageServerUrl(sysInfo.getWebPageServerUrl()); sysInfoRedis2.setSplashImgUrl(sysInfo.getSplashImgUrl()); sysInfoRedis2.setCompanyTelephone(sysInfo.getCompanyTelephone()); sysInfoRedis2.setCompanyWebsite(sysInfo.getCompanyWebsite()); sysInfoRedis2.setUpdTime(sysInfo.getUpdTime()); boolean cc = sysInfoDao.save(sysInfoRedis2); System.out.println( (cc == true) ? "成功":"失敗"); }else { //返回數據 sysInfo.setAppName(sysInfoRedis.getAppName()); sysInfo.setAppStoreId(sysInfoRedis.getAppStoreId()); sysInfo.setAppIosId(sysInfoRedis.getAppIosId()); sysInfo.setAppIosVersion(sysInfoRedis.getAppIosVersion()); sysInfo.setAppIosUpdFlag(sysInfoRedis.getAppIosUpdFlag()); sysInfo.setAppAndroidVersion(sysInfoRedis.getAppAndroidVersion()); sysInfo.setAppAndroidUpdFlag(sysInfoRedis.getAppAndroidUpdFlag()); sysInfo.setAndroidDownloadUrl(sysInfoRedis.getAndroidDownloadUrl()); sysInfo.setUserProtocolUrl(sysInfoRedis.getUserProtocolUrl()); sysInfo.setDataServerUrl(sysInfoRedis.getDataServerUrl()); sysInfo.setResourceServerUrl(sysInfoRedis.getResourceServerUrl()); sysInfo.setAboutContent(sysInfoRedis.getAboutContent()); sysInfo.setWebPageServerUrl(sysInfoRedis.getWebpageServerUrl()); sysInfo.setSplashImgUrl(sysInfoRedis.getSplashImgUrl()); sysInfo.setCompanyTelephone(sysInfoRedis.getCompanyTelephone()); sysInfo.setCompanyWebsite(sysInfoRedis.getCompanyWebsite()); sysInfo.setUpdTime(sysInfoRedis.getUpdTime()); } return sysInfo; }