redis.xml配置文件
redis.properties配置文件
redis操作抽象类? ? jedis
package cn.mybatis.Util.redis;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.core.HashOperations;import org.springframework.data.redis.core.RedisTemplate;
import javax.annotation.Resource;
public abstract class IRedisService {
@Autowired protected RedisTemplate redisTemplate;
/* @Resource protected HashOperations hashOperations;*/
/** * 存入redis中的key * * @return */ protected abstract String getRedisKey();
/** * 添加 * * @param key key * @param doamin 对象 * @param expire 过期时间(单位:秒),传入 -1 时表示不设置过期时间 */ public void put(String key, T doamin, long expire) { redisTemplate.opsForHash().put(getRedisKey(), key, doamin); if (expire != -1) { redisTemplate.expire(getRedisKey(), expire, TimeUnit.SECONDS); } }
/** * 删除 * * @param key 传入key的名称 */ public void remove(String key) { redisTemplate.opsForHash().delete(getRedisKey(), key); }
/** * 查询 * * @param key 查询的key * @return */ public Object get(String key) { return redisTemplate.opsForHash().get(getRedisKey(), key); }
/** * 获取当前redis库下所有对象 * * @return */ public List getAll() { return redisTemplate.opsForHash().values(getRedisKey()); }
/** * 查询查询当前redis库下所有key * * @return */ public Set getKeys() { return redisTemplate.opsForHash().keys(getRedisKey()); }
/** * 判断key是否存在redis中 * * @param key 传入key的名称 * @return */ public boolean isKeyExists(String key) { return redisTemplate.opsForHash().hasKey(getRedisKey(), key); }
/** * 查询当前key下缓存数量 * * @return */ public long count() { return redisTemplate.opsForHash().size(getRedisKey()); }
/** * 清空redis */ public void empty() { Set set = redisTemplate.opsForHash().keys(getRedisKey()); for(Object key : set){ redisTemplate.opsForHash().delete(getRedisKey(), key); }
}}
redis抽象类的子类作为service使用? ?rediskey识别一个redis库
public String getRedisKey() { return this.redisKey; }
}
实例中的使用?
注入抽象类子类
@Autowired private UserRedisServiceImpl userRedisServiceImpl;
存入对象数据
userRedisServiceImpl.put(user.getAccount(), user, -1);
清空所有数据
userRedisServiceImpl.empty();
question1:
redis配置文件应尽早加载? ?不然会读取不到properties配置的值;quarzt配置文件应尽早加载,不然注解的定时任务无法启动
clean 项目重新部署一次启动成功
以上就是土嘎嘎小编为大家整理的SSM整合redis相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!