springboot中操作redis的类StringRedisTemplate
springboot中操作redis的类StringRedisTemplate
1.使用前置
在springboot 中使用StringRedisTemplate模板比较简单,首先添加依赖jar包:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
在yml文件中配置redis的信息
#简单配置
spring:
redis:
#配置使用的数据库
database: 8
#配置host
host: localhost
#配置端口
port: 6381
2.RedisTemplate中定义了5种数据结构操作
redisTemplate.opsForValue(); //操作字符串 redisTemplate.opsForHash(); //操作hash redisTemplate.opsForList(); //操作list redisTemplate.opsForSet(); //操作set redisTemplate.opsForZSet(); //操作有序set
3.使用举例
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = SpringbootredisApplication.class)
public class RedisTestForString {
/**注入stringRedisTemplate模板*/
@Autowired
private StringRedisTemplate redisStringTemplate;
@Test
public void testStringRedisTemplateForString() {
/**添加一个key*/
redisStringTemplate.opsForValue().set("java","java");
/**添加一个数字*/
redisStringTemplate.opsForValue().set("1","4");
/**自增*/
redisStringTemplate.opsForValue().increment("1");
/**自增指定长度*/
redisStringTemplate.opsForValue().increment("1",5);
/**获取值*/
String count=redisStringTemplate.opsForValue().get("1");
/**重新赋值*/
redisStringTemplate.opsForValue().getAndSet("java","c++");
/**获取key对应的值*/
String key=redisStringTemplate.opsForValue().get("java");
System.out.println("key:"+key);
System.out.println("自增:"+count);
}
}
1.向redis里存入数据和设置缓存时间
stringRedisTemplate.opsForValue().set("test", "100",60*10,TimeUnit.SECONDS);
2.val做-1操作
stringRedisTemplate.boundValueOps("test").increment(-1);
3.根据key获取缓存中的val
stringRedisTemplate.opsForValue().get("test");
4.val +1
stringRedisTemplate.boundValueOps("test").increment(1);
5.根据key获取过期时间
stringRedisTemplate.getExpire("test");
6.根据key获取过期时间并换算成指定单位
stringRedisTemplate.getExpire("test",TimeUnit.SECONDS);
7.根据key删除缓存
stringRedisTemplate.delete("test");
8.检查key是否存在,返回boolean值
stringRedisTemplate.hasKey("546545");
9.向指定key中存放set集合
stringRedisTemplate.opsForSet().add("red_123", "1","2","3");
10.设置过期时间
stringRedisTemplate.expire("red_123",1000 , TimeUnit.MILLISECONDS);
11.根据key查看集合中是否存在指定数据
stringRedisTemplate.opsForSet().isMember("red_123", "1");
12.根据key获取set集合
stringRedisTemplate.opsForSet().members("red_123");
上一篇:
Java基础知识总结(2021版)
