redis单机模式下测试遇到的问题

1、当springBoot连接不上redis时遇到的问题

在redis.windows.conf配置文件里面有这么一行代码:#bind 127.0.0.1,我的压缩包默认是带#号的。在#未去掉的情况下启动服务会抛出上面的异常,但是去掉则不会。

那么,如果外网需要访问redis服务怎么办呢?可以采用如下代码:bind 0.0.0.0

 

2、使用api:Redisson和stringRedisTemplate

1
2
3
4
5
6
7
8
9
10
11
<!--redis-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
 
        <dependency>
            <groupId>org.redisson</groupId>
            <artifactId>redisson</artifactId>
            <version>3.6.5</version>
        </dependency>

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
@Bean
    public Redisson redisson(){
        //单机模式
        Config config =new Config();
        config.useSingleServer().setAddress("redis://0.0.0.0:6379").setDatabase(0);
        return (Redisson)Redisson.create(config);//实质上返回的是RedissonClient
    }
 
@Resource
    private StringRedisTemplate stringRedisTemplate;
    @Resource
    private Redisson redisson;
 
    @GetMapping("deStock")
    public void  deStock(){
        RLock rLock = redisson.getLock("stock_lock");
        rLock.lock();
        stringRedisTemplate.boundValueOps("stock").decrement();     //自减1
        System.out.println(stringRedisTemplate.opsForValue().get("stock").toString());
        rLock.unlock();
    }
 
    @GetMapping("getRedis")
    public void  getRedis(){
        SetOperations<String, String> set = stringRedisTemplate.opsForSet();
        set.add("set1","22");
        set.add("set1","33");
        set.add("set1","44");
        Set<String> resultSet =stringRedisTemplate.opsForSet().members("set1");
        System.out.println("resultSet:"+resultSet);
 
        Map<String,String> map=new HashMap<String,String>();
        map.put("key1","value1");
        map.put("key2","value2");
        map.put("key3","value3");
        map.put("key4","value4");
        map.put("key5","value5");
        stringRedisTemplate.opsForHash().putAll("map1",map);
 
        System.out.println("缓存正在设置。。。。。。。。。");
        stringRedisTemplate.opsForValue().set("key1","value1");
        stringRedisTemplate.opsForValue().set("key2","value2");
        stringRedisTemplate.opsForValue().set("key3","value3");
        stringRedisTemplate.opsForValue().set("key4","value4");
        System.out.println("缓存已经设置完毕。。。。。。。");
        String result1=stringRedisTemplate.opsForValue().get("key1").toString();
        String result2=stringRedisTemplate.opsForValue().get("key2").toString();
        String result3=stringRedisTemplate.opsForValue().get("key3").toString();
        System.out.println("缓存结果为:result:"+result1+"  "+result2+"   "+result3);
    }

  

1
2
3
4
5
6
7
8
9
10
11
12
spring:
  redis:
    database: 0  #数据库索引(默认为0)
    host: 0.0.0.0
    port: 6379  #默认链接端口
    password:  #默认为空
    jedis:
      pool:
        max-active: 8 #最大链接池
        max-wait: -1 #最大阻赛等待时间(使用负值没有限制)默认为-1
        max-idle: 8 #连接池中的最大空闲连接 默认 8
        min-idle: 0

  

posted on   潮流教父孙笑川  阅读(24)  评论(0编辑  收藏  举报

(评论功能已被禁用)
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示