Redis安装配置及在Spring中的使用

Redis简介

REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。

Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

官网:https://redis.io/

安装Redis

首先在官网下载地址找到最新版本的安装包地址,如:http://download.redis.io/releases/redis-6.0.6.tar.gz

  • 下载安装Redis
wget http://download.redis.io/releases/redis-6.0.6.tar.gz
tar xzf redis-6.0.6.tar.gz
cd redis-6.0.6
make
  • 配置Redis
vim redis.conf

将“requirepass”的注释放开,然后设置一个连接密码。否则远程连接的时候报:

(error) DENIED Redis is running in protected mode because protected mode is enabled, no bind address was specified, no authentication password is requested to clients. In this mode connections are only accepted from the loopback interface. 

在这里插入图片描述

  • 启动Redis服务
./src/redis-server

Redis安装配置及在Spring中的使用_第1张图片

  • 启动Redis客户端,验证连接
./src/redis-cli

127.0.0.1:6379> ping
PONG

在Spring中使用Redis

  • maven引包
        <dependency>
            <groupId>org.springframework.datagroupId>
            <artifactId>spring-data-redisartifactId>
        dependency>
        <dependency>
            <groupId>redis.clientsgroupId>
            <artifactId>jedisartifactId>
        dependency>
  • 配置RedisConnectionFactory
    @Bean
    public RedisConnectionFactory redisConnectionFactory() {
        RedisStandaloneConfiguration configuration = new RedisStandaloneConfiguration("your_redis_server_ip_addr", 6379);
        configuration.setPassword(RedisPassword.of("your_pass"));
        return new JedisConnectionFactory(configuration);
    }
  • 配置RedisTemplate
    @Bean
    public RedisTemplate<String, String> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
        RedisTemplate<String, String> redisTemplate = new RedisTemplate<>();
        redisTemplate.setConnectionFactory(redisConnectionFactory);

        return redisTemplate;
    }
  • Redis读写
    【注】配置RedisConnectionFactory之后,就可以用如下的方式设置值和读取值。但是这种方式只支持字节数组。RedisTemplate可以简化Redis数组访问
        RedisConnection redisConnection = redisConnectionFactory.getConnection();
        redisConnection.set("key".getBytes(),"value".getBytes());
        String value = new String(Objects.requireNonNull(redisConnection.get("key".getBytes())));

RedisTemplate Redis数组访问:

        redisTemplate.opsForValue().set("template", "string template");
        redisTemplate.opsForValue().get("template");

你可能感兴趣的:(java,redis,spring使用Redis,RedisTemplate)