本篇文章和大家了解一下SpringBoot集成Redis的过程介绍。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。Redis 介绍: Redis 服务Redis (REmote Dictionary Server) 是一个
本篇文章和大家了解一下SpringBoot集成Redis的过程介绍。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
Redis 介绍: Redis 服务
Redis (REmote Dictionary Server) 是一个由Salvatore Sanfilippo 完成的key-value存储系统,是跨平台的非关系型数据库。
Redis 是一个开源的使用ANSI C语言编写、遵循BSD 协议的、支持网络、可基于内存、分布式、可选择持久性的键值对存储数据库,并提供多语言的api。
Redis 通常被认为是数据结构服务器,其值可以是字符串、哈希、列表、集合以及有序集合。
异常快,每秒可以执行大约110000次写(set)操作
每秒可执行大约81000次读(get)操作
支持丰富的数据结构
操作具有原子性, 所有Redis 操作都是原子操作,这确保了两个客户端并发访问,Redis 服务器能接收更新的值。
多使用工具,缓存,消息队列(Redis 本地支持发布/订阅),应用程序中的任何短期数据。
下载地址:
https://GitHub.com/MSOpenTech/redis/releases
Redis 支持32位和64 位,下载完成后,解压后,文件夹下面包含许多子文件,打开cmd 窗口,将其切换到redis 目录下,输入命名:
D:\sdk\Redis-x64-5.0.9 redis-server.exe redis.windows.conf
Redis是现在最受欢迎的NoSQL数据库之一,Redis是一个使用ANSI C编写的开源、包含多种数据结构、支持网络、基于内存、可选持久性的键值对存储数据库,其具备如下特性:
基于内存运行,性能高效
支持分布式,理论上可以无限扩展
key-value存储系统
开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API
相比于其他数据库类型,Redis具备的特点是:
如果想使用redis 启动更加容易的话,可以使用 将redis 安装路径加入到环境变量中,直接点击 redis-server.exe 即可启动redis 服务。
在pom.xml 中配置相关依赖 jar
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency>
在SpringBoot 中配置核心文件
在application.properties 文件下添加配置redis 信息
# 配置redisspring.redis.host:localhostspring.redis.passWord=spring.redis.port=6379
Redis 配置类及其使用
Redis 配置类
// RedisConfig redisconfig 配置@Configurationpublic class RedisConfig { @Bean public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) { // 创建对象 RedisTemplate<String, Object> template = new RedisTemplate<>(); Jackson2JSONRedisSerializer valueRedisSerializer = new Jackson2jsonRedisSerializer(Object.class); //设置Redis的value为json格式,并存储对象信息的序列化类型 ObjectMapper objectMapper = new ObjectMapper(); objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL); valueRedisSerializer.setObjectMapper(objectMapper); // 创建一个keyRedisSerializer RedisSerializer keyRedisSerializer = new StringRedisSerializer(); // 设置信息 template.seTKEySerializer(keyRedisSerializer); template.setValueSerializer(valueRedisSerializer); template.setHashKeySerializer(keyRedisSerializer); template.setHashValueSerializer(valueRedisSerializer); template.setConnectionFactory(factory); template.afterPropertiesSet(); return template; } // redisUtils() 方法 @Bean public RedisUtils redisUtils(@Autowired RedisTemplate redisTemplate) { return new RedisUtils(redisTemplate); }}
Redis 工具类, 首先redis 的增删改查等操作,针对多种数据类型的数据
// RedisUtils@Slf4jpublic class RedisUtils { // 初始化变量 private static Logger logger = LoggerFactory.getLogger(RedisUtils.class); private static RedisTemplate redisTemplate; public RedisUtils(RedisTemplate redisTemplate) { this.redisTemplate = redisTemplate; } // =============================common============================ public Boolean hasKey(String key) { try { return redisTemplate.hasKey(key); } catch (Exception e) { logger.error("判断key是否存在异常: {}", e); return false; } } public Object get(String key) { return key == null ? null : redisTemplate.opsForValue().get(key); } public boolean del(String ... key){ if(key!=null&&key.length>0){ redisTemplate.delete(key[0]); return true; }else{ redisTemplate.delete(CollectionUtils.arrayToList(key)); return true; } } return false; } // SET JIHE public Set getKeys(){ return redisTemplate.keys("*"); } public Boolean set(String key, Object value) { try { redisTemplate.opsForValue().set(key, value); return true; } catch (Exception e) { logger.error("set异常: {}", e); return false; } }}
配置完备之后,自动配置RedisTemplate ,需要操作redis 的类中注入redisTeplate,如下所示:
// 使用RedisTemplate @Autowiredprivate RedisTemplate<String, String> redisTemplate;@Autowired private RedisTemplate<Object, Object> redisTemplate;
以上就是SpringBoot集成Redis的过程介绍的简略介绍,当然详细使用上面的不同还得要大家自己使用过才领会。如果想了解更多,欢迎关注编程网精选频道哦!
--结束END--
本文标题: SpringBoot集成Redis的过程介绍
本文链接: https://www.lsjlt.com/news/278817.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-04-29
2024-04-29
2024-04-29
2024-04-29
2024-04-29
2024-04-29
2024-04-29
2024-04-29
2024-04-29
2024-04-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0