redis安装
下载:https://github.com/MicrosoftArchive/redis/releases
选择3.0版本的,3.2版本安装失败,redis-server启动报错,不知为何。
解压:将下载的压缩包解压至指定目录。
配置环境变量:在系统环境变量PATH中添加上一步解压的文件目录。
启动服务器:win+R运行cmd,输入redis-server,出现下图,则启动成功。
启动客户端:新开一个cmd,输入redis-cli,显示如下则表明启动成功:
127.0.0.1:6379>
resis命令行使用
选择数据库:默认连接的是0号数据库,也可以选择其他的数据库,输入 select 1,显示如下,则切换成功,表示已经切换到1号数据库,默认的redis有16个数据库(0到15)。
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]>
保存键值对:set key value
,例如set test hello
根据键获取值:get key
,例如get test
127.0.0.1:6379> set test hello
OK
127.0.0.1:6379> get test
hello
127.0.0.1:6379>
配置都采用默认的。
Java中使用redis
maven导入Jedis:
<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
测试类:
public class RedisTest {
public static void main(String[] args) {
//连接本地的 Redis 服务
Jedis jedis = new Jedis("localhost");
System.out.println("连接成功");
//查看服务是否运行
System.out.println("服务正在运行: "+jedis.ping());
System.out.println("选择数据库:"+jedis.select(0));
System.out.println("set status:"+jedis.set("test","hello redis"));
System.out.println("get value:"+jedis.get("test"));
}
}
运行结果:
连接成功
服务正在运行: PONG
选择数据库:OK
set status:OK
get value:hello redis
springboot下使用redis
在springboot的基础上,maven导入包:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
在配置文件中添加对redis的配置:
#tomcat端口
server.port=80
#禁用模板缓存
spring.thymeleaf.cache=false
#以上内容和redis无关,可不写
# Redis数据库索引(默认为0)
spring.redis.database=0
# Redis服务器地址
spring.redis.host=127.0.0.1
# Redis服务器连接端口
spring.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.redis.password=
# 连接池最大连接数(使用负值表示没有限制)
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=10
在启动类上添加@EnableCache注解
@SpringBootApplication
@EnableCaching
public class ApplicationTest {
public static void main(String[] args) {
SpringApplication.run(ApplicationTest.class);
}
}
新建一个Controller:
@Controller
public class AppController {
@Autowired
RedisTemplate<String,String> redisTemplate ;//自动注入RedisTemplate
@ResponseBody
@RequestMapping("/")
public String test(){
String key = "name";
String value = "小朋友";
redisTemplate.opsForValue().set(key,value);//调用对String类型的操作
String getValue = redisTemplate.opsForValue().get("name");//根据key获取值
System.out.println(getValue);
return "{key="+key+",value="+getValue+"}";//将结果返回到视图页
}
}
在浏览器输入:localhost
如果正常则输出以下内容:
{key=name,value=小朋友}