redis的安装及配置

Redis的安装及配置

  • redis server的安装及配置

    打开链接:https://redis.io/download 下载想要下载的版本,下载完成后是这样的:
    redis-server
    下载完成后就进行配置:

    打开redis.windows.conf进行配置,里面的配置是根据实际上业务的需求来配置的,详细的配置可以打开以下链接进行参考配置:

    redis-server的详细配置

  1. 但是一般都要配置连接密码
    定位到requirepass foobared下,将foobared换成自己设定的密码。这里需要注意,下次我们在进行登录的时候需要通过以下cmd命令运行,这样可以读取到我们配置好的文件。

    redis-server.exe redis.windows.conf

  • redis client的安装

    这里推荐一个redis 客户端:Another-Redis-Desktop-Manager,这个客户端是由国人开发且开源的,界面比较简洁看着非常舒服。

    github地址:Another-Redis-Desktop-Manager 的开源github地址

    安装完成后就可以进行连接redis

连接redis-client

  • 示例

  1. 添加依赖包

    <!-- redis依赖包 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-redis</artifactId>
        <version>1.4.7.RELEASE</version>
    </dependency>
    
  2. 配置redis连接信息

    spring:
      # 连接redis
      redis:
        host: localhost
        port: 6379
        password: aaaa
        timeout: 10000
        ...
    
  3. 使用redisTemplate对redis进行操作,许多操作redis的方法都在redisTemplate这个类中,如果要看如何实现可以查看此类的源码。

    @Autowired
    private RedisTemplate redisTemplate; // 注入redisTemplate
    
    @Override
    public Integer deleteItems() {
        // 自减
        Long value = redisTemplate.opsForValue().decrement("itemNumber");
        return value.intValue();
    }
    
    @Override
    public Integer selectItems() {
        return (Integer) redisTemplate.opsForValue().get("itemNumber");
    }
    
  4. 大家做完以上步骤之后可能会出现一个问题,就是无论如何怎么读取key为string类型的value都是null,这是因为redisTemplate默认使用的序列化是JdkSerializationRedisSerializer类,但是我们存入数据的时候是通过StringRedisSerializer序列化类去存储的,所以因为使用的序列化类不一样,导致取不出value,所以我们可以通过创建一个配置类去生成一个序列化类为StringRedisSerializer的redisTemplate。

    @Configuration
    public class RedisConfiguration {
        
        @Bean
        public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
            RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
            redisTemplate.setConnectionFactory(redisConnectionFactory);
            Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(Object.class);
            redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
            redisTemplate.setKeySerializer(new StringRedisSerializer());
            redisTemplate.setHashKeySerializer(new StringRedisSerializer());
            redisTemplate.afterPropertiesSet();
            return redisTemplate;
        }
    }
    

    或者直接注入一个

    @Autowired
    private StringRedisTemplate stringRedisTemplate;
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

99Savage

你的鼓励是我最大的动力!加油

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值