package com.springmvc.dao.impl;
import com.springmvc.dao.RedisCacheDao;
import com.springmvc.utils.SerializeUtil;
import org.apache.log4j.Logger;
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.stereotype.Repository;
import javax.annotation.Resource;
import java.io.Serializable;
/**
* redis的dao层实现
*
* @author Juveniless
*
***/
@Repository("RedisCacheDao")
public class RedisCacheDaoImpl implements RedisCacheDao {
private static final Logger logger = Logger
.getLogger(RedisCacheDaoImpl.class.getName());
static final byte[] ngHisByte = SerializeUtil.serialize("WANDA_NGHIS");
@Resource
protected RedisTemplate<Serializable, Serializable> redisTemplate;
/**
* 根据key删除数据
*
* @param key
* 键
* @return boolean 删除成功或失败的标志
***/
@Override
public boolean deleteKey(final String key) {
boolean result = redisTemplate.execute(new RedisCallback<Boolean>() {
@Override
public Boolean doInRedis(RedisConnection connection)
throws DataAccessException {
byte[] keyByte = SerializeUtil.serialize(key);
Boolean flag = false;
if (connection.hExists(ngHisByte, keyByte)) {
logger.info("存在该键,执行删除");
flag = connection.hDel(ngHisByte, keyByte);
}
return flag;
}
});
return result;
}
/**
* 根据key存储object
*
* @param key
* 键
* @param value
* 要存储的对象Object
* @return boolean 存储成功或失败的标志
***/
@Override
public boolean saveObject(final String key, final Object value) {
boolean result = redisTemplate.execute(new RedisCallback<Boolean>() {
@Override
public Boolean doInRedis(RedisConnection connection)
throws DataAccessException {
byte[] keyByte = SerializeUtil.serialize(key);
byte[] valueByte = SerializeUtil.serialize(value);
Boolean flag = false;
if (connection.hExists(ngHisByte, keyByte)) {
logger.info("数据已存在,先删除旧数据");
connection.hDel(ngHisByte, keyByte);
}
flag = connection.hSet(ngHisByte, keyByte, valueByte);
return flag;
}
});
return result;
}
/**
* 根据key获取object
*
* @param key
* 键
* @return Object 与key对应的object
***/
@Override
public Object getObject(final String key) {
Object result = redisTemplate.execute(new RedisCallback<Object>() {
@Override
public Object doInRedis(RedisConnection connection)
throws DataAccessException {
Object returnObject = null;
byte[] keyByte = SerializeUtil.serialize(key);
if (connection.hExists(ngHisByte, keyByte)) {
logger.info("数据存在--开始读取");
returnObject = SerializeUtil
.unserialize(connection.hGet(ngHisByte, keyByte));
} else {
logger.info("数据不存在");
}
return returnObject;
}
});
return result;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
redisTest.zip (95个子文件)
redisTest
redisTest.iml 4KB
pom.xml 4KB
target
classes
application.properties 414B
log4j.properties 777B
com
springmvc
dao
RedisCacheDao.class 293B
impl
RedisCacheDaoImpl.class 2KB
RedisCacheDaoImpl$2.class 2KB
RedisCacheDaoImpl$3.class 2KB
RedisCacheDaoImpl$1.class 2KB
controller
ViewController.class 2KB
service
RedisCacheService.class 327B
impl
RedisCacheServiceImpl.class 2KB
utils
SerializeUtil.class 2KB
spring-servlet.xml 1KB
applicationContext.xml 2KB
generated-sources
annotations
redisTest
META-INF
MANIFEST.MF 95B
WEB-INF
web.xml 3KB
page
index.jsp 226B
classes
application.properties 414B
log4j.properties 777B
com
springmvc
dao
RedisCacheDao.class 293B
impl
RedisCacheDaoImpl.class 2KB
RedisCacheDaoImpl$2.class 2KB
RedisCacheDaoImpl$3.class 2KB
RedisCacheDaoImpl$1.class 2KB
controller
ViewController.class 2KB
service
RedisCacheService.class 327B
impl
RedisCacheServiceImpl.class 2KB
utils
SerializeUtil.class 2KB
spring-servlet.xml 1KB
applicationContext.xml 2KB
lib
spring-core-4.1.4.RELEASE.jar 983KB
spring-data-redis-1.0.2.RELEASE.jar 370KB
spring-context-4.1.4.RELEASE.jar 1002KB
jedis-2.1.0.jar 136KB
spring-jdbc-4.1.4.RELEASE.jar 417KB
aopalliance-1.0.jar 4KB
spring-beans-4.1.4.RELEASE.jar 692KB
spring-expression-4.1.4.RELEASE.jar 253KB
commons-pool-1.5.5.jar 98KB
spring-web-4.1.4.RELEASE.jar 698KB
slf4j-api-1.6.6.jar 26KB
slf4j-log4j12-1.6.6.jar 9KB
spring-webmvc-4.1.4.RELEASE.jar 763KB
spring-context-support-4.1.4.RELEASE.jar 174KB
commons-logging-1.2.jar 60KB
spring-aop-4.1.4.RELEASE.jar 351KB
jcl-over-slf4j-1.6.6.jar 17KB
log4j-1.2.17.jar 478KB
spring-tx-4.1.4.RELEASE.jar 247KB
index.jsp 57B
src
main
webapp
WEB-INF
web.xml 3KB
page
index.jsp 226B
index.jsp 57B
resources
application.properties 148B
log4j.properties 777B
spring-servlet.xml 1KB
applicationContext.xml 2KB
java
com
springmvc
dao
RedisCacheDao.java 3KB
impl
RedisCacheDaoImpl.java 3KB
controller
ViewController.java 1KB
service
impl
RedisCacheServiceImpl.java 1KB
RedisCacheService.java 2KB
utils
SerializeUtil.java 3KB
.idea
misc.xml 1KB
modules.xml 258B
encodings.xml 172B
compiler.xml 630B
workspace.xml 62KB
libraries
Maven__org_springframework_spring_web_4_1_4_RELEASE.xml 609B
Maven__aopalliance_aopalliance_1_0.xml 514B
Maven__javax_servlet_javax_servlet_api_3_0_1.xml 578B
Maven__org_springframework_spring_test_4_1_4_RELEASE.xml 616B
Maven__junit_junit_4_11.xml 455B
Maven__org_springframework_spring_webmvc_4_1_4_RELEASE.xml 630B
Maven__org_springframework_spring_beans_4_1_4_RELEASE.xml 623B
Maven__org_springframework_data_spring_data_redis_1_0_2_RELEASE.xml 678B
Maven__org_hamcrest_hamcrest_core_1_3.xml 532B
Maven__org_springframework_spring_context_support_4_1_4_RELEASE.xml 693B
Maven__commons_logging_commons_logging_1_2.xml 558B
Maven__commons_pool_commons_pool_1_5_5.xml 539B
Maven__redis_clients_jedis_2_1_0.xml 494B
Maven__org_slf4j_slf4j_log4j12_1_6_6.xml 534B
Maven__org_slf4j_jcl_over_slf4j_1_6_6.xml 541B
Maven__org_springframework_spring_tx_4_1_4_RELEASE.xml 602B
Maven__org_springframework_spring_expression_4_1_4_RELEASE.xml 658B
Maven__javax_servlet_jsp_jsp_api_2_2.xml 510B
Maven__org_springframework_spring_jdbc_4_1_4_RELEASE.xml 616B
Maven__log4j_log4j_1_2_17.xml 469B
Maven__org_springframework_spring_aop_4_1_4_RELEASE.xml 609B
Maven__org_slf4j_slf4j_api_1_6_6.xml 506B
Maven__org_springframework_spring_context_4_1_4_RELEASE.xml 637B
Maven__org_springframework_spring_core_4_1_4_RELEASE.xml 616B
artifacts
redisTest_war.xml 293B
redisTest_war_exploded.xml 3KB
共 95 条
- 1
资源评论
Juveniless
- 粉丝: 25
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 老飞飞搭建基础通用数据库V19数据库.rar
- jquery.js
- 机械设计多工位ACF贴胶带&预压设备sw18可编辑非常好的设计图纸100%好用.zip
- 基于Pytorch复现Point-Transformer,用于ShapeNet数据集点云分割
- 【医学影像分析】2D超声图像的分割检测(Ultrasound Nerve Segmentation - Kaggle数据集)
- 嘎嘎香的五款神仙谷歌插件
- .arch书源导入教程.mp4
- 贪心算法介绍及代码示例讲解
- CR13SP35MSI64 Crystal 水晶报表运行组件最后版本64位
- 图像分类数据集:玉米叶是否感染分类数据集(2分类,包含训练集、验证集)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功