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客户端,验证连接
./src/redis-cli

127.0.0.1:6379> ping
PONG

在Spring中使用Redis

  • maven引包
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-redis</artifactId>
        </dependency>
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
        </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");

发布者:CoolQA,转转请注明出处:https://www.amwalle.com/testing/20200816-redis%e5%ae%89%e8%a3%85%e9%85%8d%e7%bd%ae%e5%8f%8a%e5%9c%a8spring%e4%b8%ad%e7%9a%84%e4%bd%bf%e7%94%a8.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
CoolQA的头像CoolQA
上一篇 2020年8月2日 08:43
下一篇 2020年9月23日 13:46

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理