java实现redis缓存_java实现redis缓存功能

一、安装redis

1.mac安装,如果有安装brew 可以直接快捷安装:brew install redis

2.linux下载安装wget http://download.redis.io/releases/redis-2.8.17.tar.gz

tar xzf redis-2.8.17.tar.gz

cd redis-2.8.17

make

二、redis常用命令redis-cli // 进入命令行

/usr/local/bin/redis-server /usr/local/etc/redis.conf // 启动 找到你的redis-server、redis-server路径

quit // 退出

keys * // 查询所有的key

set a 123 //创建字符串key(a), value(123)

get a // 查看字符串key为a的value

del a //删除字符串key为a的数据

hmset key name "a" description "123" // hashmap的创建

hgetall a //hashmap通过key获取

lpush a 123 // list创建

lrange a 0 10 //list 获取

sadd a 123 // 集合set创建

smembers a // 集合set 获取

zadd a 123 // 有序集合set创建

zrange a 1 10 smembers // 集合set 获取

注:初期使用的命令,后期遇到之后在进行添加

三、spring boot集成redis

1.项目基于spring boot创建的,eclipse 集成spring boot 后,可以选择redis,之后自动生成如下代码(pom.xml):

org.springframework.boot

spring-boot-starter-data-redis

2.配置redis,在application.propertise 的文件里面添加如下:spring.redis.database=0

spring.redis.host=localhost

spring.redis.port=6379 // 端口号

spring.redis.password=redispass // 密码

spring.redis.pool.max-active=8

spring.redis.pool.max-wait=-1

spring.redis.pool.max-idle=8

spring.redis.pool.min-idle=0

spring.redis.timeout=5000 // 链接超时时间,可以设置大一些

3.创建一个service接口(redisService):@Service

public class RedisService {

@Autowired

private StringRedisTemplate redisTemplate;

/**

* 一周有多少秒

*/

private static final long WEEK_SECONDS = 7 * 24 * 60 * 60;

/**

* 将 key,value 存放到redis数据库中,默认设置过期时间为一周

* @param key

* @param value

*/

public void set(String key, Object value) {

redisTemplate.opsForValue().set(key, JsonUtil.convertObj2String(value), WEEK_SECONDS, TimeUnit.SECONDS);

}

/**

* 将 key,value 存放到redis数据库中,设置过期时间单位是秒

*

* @param key

* @param value

* @param expireTime

*/

public void set(String key, Object value, long expireTime) {

redisTemplate.opsForValue().set(key, JsonUtil.convertObj2String(value), expireTime, TimeUnit.SECONDS);

}

/**

* 判断 key 是否在 redis 数据库中

*

* @param key

* @return

*/

public boolean exists(final String key) {

return redisTemplate.hasKey(key);

}

/**

* 获取与 key 对应的对象

* @param key

* @param clazz 目标对象类型

* @param

* @return

*/

public T get(String key, Class clazz) {

String s = get(key);

if (s == null) {

return null;

}

return JsonUtil.convertString2Obj(s, clazz);

}

/**

* 获取 key 对应的字符串

* @param key

* @return

*/

public String get(String key) {

return redisTemplate.opsForValue().get(key);

}

/**

* 删除 key 对应的 value

* @param key

*/

public void delete(String key) {

redisTemplate.delete(key);

}

}

4.在PifajiaOfficialApplicationTests里面进行测试@Test

public void redisService(){

String str = "test";

String retStr = this.redisService.get("test");

if(retStr == null) {

this.redisService.set("test", str);

retStr = str;

}

System.out.println(":::"+retStr);

}

end

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值