Springboot+Redis整合

Springboot+Redis整合

一、什么是redis

​ redis是现在最受欢迎的NoSQL(Not Only SQL)数据库之一,Redis是一种支持key-value等多种数据结构的存储系统。可用于缓存,事件发布或订阅,高速队列等场景。使用C语言编写,支持网络,提供字符串,哈希,列表,队列,集合结构直接存取,基于内存,可持久化。

二、redis的特点

  • Redis以内存作为数据存储介质,读写数据的效率极高。
  • Redis跟memcache不同的是,储存在Redis中的数据是持久化的,断电或重启,数据也不会丢失。
  • Redis的存储分为内存存储、磁盘存储和log文件。
  • Redis可以从磁盘重新将数据加载到内存中,也可以通过配置文件对其进行配置,因此,redis才能实现持久化。
  • Redis支持主从模式,可以配置集群,更利于支撑大型的项目。

学习参考链接:

redis官网

什么是redis,redis能做什么,redis的应用场景

redis教程

三、Linux下安装Redis

Linux系统安装Redis(2020最新最详细) - 净重21克 - 博客园 (cnblogs.com)
redis常用命令

注意事项

1.centos7 关闭防火墙
sudo systemctl stop firewalld 临时关闭
sudo systemctl disable firewalld ,然后reboot 永久关闭
sudo systemctl status  firewalld 查看防火墙状态。

#在redis.conf中修改

2. bind 127.0.0.1要注释掉

3.protected-mode yes改成protected-mode no 

4. 要为redis配置密码
通过/requirepass foobared搜索到后将其注释打开,同时将foobared修改为你要给redis设置的密码
设置密码

5.带配置文件在后台启动命令
./redis-server /usr/local/redis-6.0.8/redis.conf&

四、整合

  1. 添加redis依赖

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-redis</artifactId>
            </dependency>
    
  2. 配置redis连接

    spring:
      redis:
        host: 192.168.110.130
        password: 123
        database: 1
    
  3. 编写redis配置类

    /**
     * redis 配置类
     */
    @Configuration
    @SuppressWarnings("all")
    public class RedisConfig extends CachingConfigurerSupport {
         
    
        /**
         * 配置RedisTemplate
         * 设置添加序列化器
         * key 使用string序列化器
         * value 使用Json序列化器
         * @param redisConnectionFactory
         * @return
         */
        @Bean
        public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory){
         
    
            RedisTemplate<String,Object> template=new RedisTemplate<>();
            template.setConnectionFactory(redisConnectionFactory);
    
    
            // json序列化器
            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);
    
            // String序列化器
            StringRedisSerializer stringRedisSerializer=new StringRedisSerializer();
    
            // 给 key 使用 String的序列化方式
            // 给 value 使用 Json的序列化方式
            template.setKeySerializer(stringRedisSerializer);
            template.setValueSerializer(jackson2JsonRedisSerializer);
    
            // 给 hash 设置
            template.setHashKeySerializer(stringRedisSerializer);
            template.setHashValueSerializer(jackson2JsonRedisSerializer);
    
            return template;
        }
    }
    
  4. 编写redis工具类

    @Component
    public class RedisUtil {
         
    
        @Resource
        private RedisTemplate redisTemplate;
    
        /**
         * 设置有效时间
         *
         * @param key Redis键
         * @param timeout 超时时间
         * @return true=设置成功;false=设置失败
         */
        public boolean expire(final String key
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值