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 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)