Redis在Java中的实际应用

redis 在 Java 中的实际应用

初认识

1、什么是 redis?

Redis 全称为:Remote Dictionary Server(远程数据服务),是一个基于内存的高性能 key-value 数据库。

2、Redis 的数据类型?

Redis 支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及 zset(sorted set:有序集合)

redis 配置接口

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43

package com.fujiatian.redisdemo.service;

import java.util.Map;
import java.util.concurrent.TimeUnit;
import java.util.function.Supplier;

/**
* <p>
*
* </p>
*
* @program: tancl
* @description:
* @author:
* @since: 2019-06-21 14:24
*/
public interface IRedisService {
<T> void put(String key, T obj);
<T> void put(String key, T obj, int timeout);
<T> void put(String key, T obj, int timeout, TimeUnit unit);

<T> T get(String key, Class<T> cls);

// <E,T extends Collection<E>> T get(String key, Class<E> cls, Class<T> collectionCls);
<T> T putIfAbsent(String key, Class<T> cls, Supplier<T> supplier);
<T> T putIfAbsent(String key, Class<T> cls, Supplier<T> supplier, int timeout);

// <E,T extends Collection<E>> T putIfAbsent(String key, Class<E> cls, Class<T> collectionCls, Supplier<T> supplier);

boolean exists(String key);
void del(String key);
boolean expire(String key, long timeout, TimeUnit unit);
boolean expire(String key, long timeout);

void put(String key, String value);
void put(String key, String value, int timeout);
void put(String key, String value, int timeout, TimeUnit unit);
String get(String key);

void putHash(String key, Map<Object, Object> m);
Map<Object, Object> getHash(String key);
}

2、使用 redis

第一步,通过注解的方式引用 redisservie 服务

1
2
@Resource(name = "RedisService")
private IRedisService redisService;

2.1、redis 存

1
2
3
4
5
redisService.put("key(也就是键名)", "value(键值,可以是对象转的字符串,具体查看redis支持的数据类型)", (过期时间),
TimeUnit.DAYS(过期时间单位));

//例子
redisService.put(“name”,"admin", 1, TimeUnit.DAYS);

2.2 redis 取

1
redisService.get("name");//返回admin

2.3 redis 删

1
redisService.del("name");//返回String类型的值 即:admin

2.3 redis 查

1
redisService.exists("name");//返回boolean类型的值 即:true

2.3 redis 设置过期时间

1
redisService.expire("name",1,TimeUnit.DAYS);//返回boolean类型的值 即:true
您的打赏,是我创作的动力,谢谢支持。
0%