linux安装redis并且整合springboot

一 、linux安装redis:

1、获取redis资源

wget http://download.redis.io/releases/redis-4.0.8.tar.gz

2、解压

tar xzvf redis-4.0.8.tar.gz

3、安装

cd redis-4.0.8

make

cd src

make install PREFIX=/usr/local/redis

4、移动配置文件到安装目录下

cd ../

mkdir /usr/local/redis/etc

mv redis.conf /usr/local/redis/etc

5.配置redis为后台启动

vim /usr/local/redis/etc/redis.conf //将daemonize no 改成daemonize yes

6、将redis加入到开机启动

vim /etc/rc.local //在里面添加内容:/usr/local/redis/bin/redis-server 			
/usr/local/redis/etc/redis.conf (意思就是开机调用这段开启redis的命令)

7、将redis-cli,redis-server拷贝到bin下,让redis-cli、redis-server指令可以在任意目录下直接使用

cp /usr/local/redis/bin/redis-server /usr/local/bin/

cp /usr/local/redis/bin/redis-cli /usr/local/bin/

8、开启redis

redis-server /usr/local/redis/etc/redis.conf

9、redis常用命令

  • 运行命令:redis-cli -p 6379 (6379是redis的端口)
  • b.查看redis密码:config get requirepass (没设置密码的如下图:
    在这里插入图片描述
  • 设置redis密码:config set requirepass ****(****为你要设置的密码),设置成功的话会返回‘OK’字样
  • 删除安装目录:rm -rf /usr/local/redis
  • 删除所有redis相关命令脚本:rm -rf /usr/bin/redis-*
  • /删除redis解压文件夹:rm -rf /root/download/redis-4.0.4

二 、springboot整合redis:

1、pom里面引入jar包

		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
            <!-- 不依赖redis的异步客户端lettuce -->
            <exclusions>
                <exclusion>
                    <groupId>io.lettuce</groupId>
                    <artifactId>lettuce-core</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- 引入redis的客户端驱动jedis -->
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
        </dependency>
在这里插入代码片

2、自定义RedisTemplate序列化器

@Configuration
public class RedisTemplateConfig {

    @Bean
    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
        redisTemplate.setConnectionFactory(redisConnectionFactory);

        // 使用Jackson2JsonRedisSerialize 替换默认序列化
        Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);

        ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
        objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);

        jackson2JsonRedisSerializer.setObjectMapper(objectMapper);

        // 设置value的序列化规则和 key的序列化规则
        redisTemplate.setKeySerializer(new StringRedisSerializer());
        redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
        redisTemplate.setHashKeySerializer(new StringRedisSerializer());
        redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);
        redisTemplate.afterPropertiesSet();
        return redisTemplate;
    }
}

3、yml里面配置redis的连接信息

在这里插入图片描述

三 、springboot测试redis连接:

1、编写控制器

@Slf4j
@Controller
@RequestMapping(value = "/index")
public class indexController {

    @Autowired
    private RedisTemplate<String, Object> redisTemplate;

    @GetMapping(value = "/aaa")
    public String index(){
        redisTemplate.opsForValue().set("aaa","奥利给!!!!");
        String redisImg =(String) redisTemplate.opsForValue().get("aaa");
        log.info("redis里面的数据is[{}]",redisImg);
        log.info("进来啦!!!");
        return "index";
    }
}

页面访问:http://localhost:8090/index/aaa
报错!!!
在这里插入图片描述在这里插入图片描述

2、springboot连接redis报connect timed out 原因分析:

  • 先ping 一下服务器
    在这里插入图片描述
    没什么问题!
  • 修改redis.conf文件,将 bind 127.0.0.1这一行注释掉,或是将127.0.0.1修改为0.0.0.0(redis默认只支持本地连接,修改为0.0.0.0时,这样就可以支持外机连接了)在这里插入图片描述
    还是不行!!
  • 修改redis.conf文件为 protected-mode no,关闭保护模式,相当于关闭了redis的“防火墙”,允许其他服务连接redis
    在这里插入图片描述
    还是不行啊!!!
  • 关闭访问墙:service iptables stop
    关闭成功后,继续不行!!!!
  • 因为我用的阿里云服务器,阿里默认屏蔽了很多端口,得自己加安全组,如下图:
    在这里插入图片描述
    继续访问:http://localhost:8090/index/aaa
    在这里插入图片描述
    成功!!!!!!!!!!!!

END!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值