【Redis】Redis的安装与使用

时间:2021-02-01 05:18:41

redis安装

下载:https://github.com/MicrosoftArchive/redis/releases

选择3.0版本的,3.2版本安装失败,redis-server启动报错,不知为何。

解压:将下载的压缩包解压至指定目录。

配置环境变量:在系统环境变量PATH中添加上一步解压的文件目录。

启动服务器:win+R运行cmd,输入redis-server,出现下图,则启动成功。

【Redis】Redis的安装与使用

启动客户端:新开一个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=小朋友}