org.springframework.data
spring-data-redis
1.3.2.RELEASE
redis.clients
jedis
2.4.2
===== 引入placeholder =====
===== application-cache-redis.xml =====
===== redis.properties =====
# Redis settings
redis.host=121.43.104.34
redis.port=6379
redis.pass=
redis.minIdle=300
redis.maxIdle=600
redis.maxTotal=1000
redis.testOnBorrow=true
===== RedisService.java =====
package com.gxx.record.service;
import java.util.List;
/**
*
* - Title:
* -
* redis服务接口
* - Description:
* -
*
* none
*
*
* @author Administrator
* @version 1.0, 2015年7月19日
* @since record
*
*/
public interface RedisService {
/**
* set
*
* @param key
* @param value
* @return
*/
public boolean set(String key, Object value);
/**
* get
*
* @param key
* @return
*/
public Object get(String key);
/**
* delete
*
* @param key
* @return
*/
public Object delete(String key);
/**
* listLeftPush
*
* @param key
* @return
*/
public long listLeftPush(String key, String url);
/**
* listRightPush
*
* @param key
* @return
*/
public long listRightPush(String key, String url);
/**
* listRange
*
* @param key
* @return
*/
public List
===== RedisServiceImpl.java =====
package com.gxx.record.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import com.gxx.record.service.RedisService;
/**
*
* - Title:
* -
* redis服务实现类
*
* - Description:
* -
*
none
*
*
*
* @author Administrator
* @version 1.0, 2015年7月19日
* @since record
*
*/
@Service("redisService")
public class RedisServiceImpl implements RedisService {
@Autowired
private RedisTemplate redisTemplate;
/**
* set
* @param key
* @param value
* @return
*/
public boolean set(String key, Object value) {
redisTemplate.opsForValue().set(key, value);
return Boolean.TRUE.booleanValue();
}
/**
* get
* @param key
* @return
*/
public Object get(String key) {
return redisTemplate.opsForValue().get(key);
}
/**
* delete
* @param key
* @return
*/
public Object delete(String key) {
Object object = redisTemplate.opsForValue().get(key);
if( object!=null){
redisTemplate.delete(key);
}
return object;
}
/**
* listLeftPush
* @param key
* @return
*/
public long listLeftPush(String key, String url) {
long size = redisTemplate.opsForList().leftPush(key, url);
return size;
}
/**
* listRightPush
* @param key
* @return
*/
public long listRightPush(String key, String url) {
long size = redisTemplate.opsForList().rightPush(key, url);
return size;
}
/**
* listRange
* @param key
* @return
*/
public List
===== RedisDto.java =====
package com.gxx.record.dto;
/**
*
* - Title:
* -
* 用户传输对象
*
* - Description:
* -
*
none
*
*
*
* @author Administrator
* @version 1.0, 2015年6月18日
* @since record
*
*/
public class RedisDto extends BaseDto {
private String key;//键
private String value;//值
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
===== RedisController.java =====
package com.gxx.record.web.redis;
import javax.servlet.http.HttpServletRequest;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.gxx.record.dto.RedisDto;
import com.gxx.record.service.RedisService;
/**
* QueryAllocateController负责查询调拨
*
* @author gxx
*/
@Controller
@RequestMapping("/redis/")
public class RedisController {
/**
* 日志处理器
*/
private final Logger logger = Logger.getLogger(RedisController.class);
@Autowired
private RedisService redisService;
@RequestMapping(value = "/preRedisFtl", method = RequestMethod.GET)
public String preRedisFtl() {
return "redis/preRedisFtl";
}
/**
* 设置
* @param request
* @param redisDto
* @return
*/
@RequestMapping(value = "/set",produces="application/json")
public @ResponseBody RedisDto set(HttpServletRequest request, RedisDto redisDto) {
logger.info("设置:键=[" + redisDto.getKey() + "],值=[" + redisDto.getValue() + "]");
/**
* 1.设置值
*/
boolean result = redisService.set(redisDto.getKey(), redisDto.getValue());
/**
* 2.返回结果
*/
redisDto.setSuccess(result);
redisDto.setMessage(result?"设置成功!":"设置失败!");
return redisDto;
}
/**
* 获取值
* @param request
* @param redisDto
* @return
*/
@RequestMapping(value = "/get",produces="application/json")
public @ResponseBody RedisDto get(HttpServletRequest request, RedisDto redisDto) {
logger.info("获取值:键=[" + redisDto.getKey() + "]");
/**
* 1.获取值
*/
String obj = (String)redisService.get(redisDto.getKey());
/**
* 2.返回结果
*/
redisDto.setSuccess(true);
redisDto.setMessage("获取成功");
redisDto.setValue(obj);
return redisDto;
}
}
===== preRedisFtl.ftl =====
redis页面
===== 演示 =====
{{ :分享:技术:redis:redis_1.png?300 |}}
{{ :分享:技术:redis:redis_2.png?300 |}}
{{ :分享:技术:redis:redis_3.png?300 |}}
{{ :分享:技术:redis:redis_4.png?300 |}}
127.0.0.1:6379> keys * #查看redis所有的key
1) "name"
2) "\xac\xed\x00\x05t\x00\x03age"
3) "\xac\xed\x00\x05t\x00\x04name"
4) "\xac\xed\x00\x05t\x00\bpassword"
5) "\xac\xed\x00\x05t\x00\amy_name" #这个为新增的