只正对快速入门,上手公司代码,业务
依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<version>2.4.1</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
若配置设置连接池,依赖(连接池管理类)不添加
报错reating bean with name 'redisConnectionFactory' defined in class path resource
配置
spring:
redis:
host: root
password: root
port: 6379
lettuce: // 新版 底层netty 旧版jedis
pool:
max-active: 8
max-idle: 8
min-idle: 0
database: 1
测试连接
@SpringBootTest
class DemoApplicationTests {
@Autowired
private StringRedisTemplate redisTemplate;
@Test
public void testRedis() {
redisTemplate.opsForValue().set("redis_key","redis_value");
System.out.println(redisTemplate.opsForValue().get("redis_key")); // redis_value
}
}
StringRedisTemplate是以RedisSerializer.string()来序列化Key。好像没有出现默认JDK序列化导致中文乱码的影响。
常见操作
redisTemplate.opsForValue().set("redis_key","测试");
redisTemplate.opsForValue().append("redis_key","测试+1");
redisTemplate.opsForValue().append("redis_key","测试+2");
System.out.println(redisTemplate.opsForValue().get("redis_key"));
redisTemplate.delete("redis_key");
System.out.println(redisTemplate.hasKey("redis_key"));
System.out.println(redisTemplate.opsForValue().get("redis_key"));
redisTemplate.opsForList().rightPush("redis_list_key", "name-0");
redisTemplate.opsForList().rightPush("redis_list_key", "name-2");
redisTemplate.opsForList().rightPush("redis_list_key", "name-3");
System.out.println("redis_list_key的长度" + redisTemplate.opsForList().size("redis_list_key"));
redisTemplate.opsForList().leftPush("redis_list_key", "name--1");
System.out.println("redis_list_key对应的值" + redisTemplate.opsForList().range("redis_list_key",0,-1));
System.out.println("下表为1的值" + redisTemplate.opsForList().index("redis_list_key", 1));
redisTemplate.delete("redis_list_key");
System.out.println("redis_list_key对应的值" + redisTemplate.opsForList().range("redis_list_key",0,-1));
redisTemplate.opsForHash().put("tom_hash_key", "age", "18");
redisTemplate.opsForHash().put("tom_hash_key", "name", "TOM");
System.out.println("tom_hash_key 对应的值" + redisTemplate.opsForHash().values("tom_hash_key"));
System.out.println("tom_hash_key对应的map对象" + redisTemplate.opsForHash().entries("tom_hash_key"));
System.out.println(redisTemplate.opsForHash().hasKey("tom_hash_key", "age"));
过期时间设置
redisTemplate.expire("redis_key", 10, TimeUnit.MINUTES);
redisTemplate.expire("redis_list_key", 10, TimeUnit.MINUTES);
redisTemplate.expire("tom_hash_key", 10, TimeUnit.MINUTES);
可视化工具 redisdesktop