Redis
1.概述
基于
内存
的数据库
应用场景
2.启动
Linux系统下默认拒绝远程访问redis,需要修改redis配置文件,然后再开放指定端口即可
3.数据类型
5种常用数据类型
常用
字符串
list
适合队列
有序集合
适用排行榜
1.String类型
2.hash
HKEYS
获取所有的field
HGETAll
获取所有的字段和值
3.列表
类似队列,
先进先出
4.set集合
4.有序集合 sorted set
4.通用命令
针对各种
key
进行操作
5.在Java中操作Redis
1.jedis
- 导入jar包
- 使用
jedis
类操作Redis
package com.itheima.test;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import java.util.Set;
/**
* 使用Jedis操作Redis
*/
public class JedisTest {
@Test
public void testRedis(){
//1 获取连接
Jedis jedis = new Jedis("localhost",6379);
//2 执行具体的操作
jedis.set("username","xiaoming");
String value = jedis.get("username");
System.out.println(value);
//jedis.del("username");
jedis.hset("myhash","addr","bj");
String hValue = jedis.hget("myhash", "addr");
System.out.println(hValue);
System.out.println();
Set<String> keys = jedis.keys("*");
for (String key : keys) {
System.out.println(key);
}
//3 关闭连接
jedis.close();
}
}
2.Spring Data Redis⭐️
一点小细节
导入spring data redis后springboot的自动配置jar包,会自动将这个类交给spring管理
spring执行redis操作注意点
//配置类
@Configuration
public class RedisConfig extends CachingConfigurerSupport {
@Bean
public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory connectionFactory) {
RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<>();
//默认的Key序列化器为:JdkSerializationRedisSerializer
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
redisTemplate.setConnectionFactory(connectionFactory);
return redisTemplate;
}
}
te.setHashKeySerializer(new StringRedisSerializer());
redisTemplate.setConnectionFactory(connectionFactory);
return redisTemplate;
}
}
---
* spring中先获取`RedisTemplate`类对象,然后调用相应的类型操作方法即可