当前位置: 首页 > news >正文

资深的网站推广浙江省院士专家工作站建设网站

资深的网站推广,浙江省院士专家工作站建设网站,网站开发交接,yy直播回放当我们的应用程序需要频繁地读取和写入数据时#xff0c;为了提高应用程序的性能#xff0c;我们通常会使用缓存技术。Spring Boot 提供了一种简单而强大的缓存框架#xff0c;它可以轻松地将数据缓存到 Redis 中。 在 Spring Boot 中可以在方法上简单的加上注解实现缓存。…当我们的应用程序需要频繁地读取和写入数据时为了提高应用程序的性能我们通常会使用缓存技术。Spring Boot 提供了一种简单而强大的缓存框架它可以轻松地将数据缓存到 Redis 中。 在 Spring Boot 中可以在方法上简单的加上注解实现缓存。 Redis 缓存配置 首先您需要在您的项目中添加 Redis 的依赖。您可以将以下依赖添加到您的项目的 pom.xml 文件中 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactId /dependency一旦 Redis 的依赖被添加您需要配置 Redis 的相关信息。以下是一个示例 Redis 配置 spring:redis:host: 127.0.0.1port: 6379password: database: 0在上述配置文件中host 和 port 属性指定了 Redis 服务器的主机名和端口号password 属性用于指定 Redis 服务器的密码如果有的话而 database 属性则指定了 Redis 服务器使用的数据库编号。 Redis 的默认序列化器是 JdkSerializationRedisSerializer但是在实际使用中由于其序列化后的大小通常比较大因此我们通常使用 StringRedisSerializer 或者 Jackson2JsonRedisSerializer 将缓存值序列化为字符串或者 JSON 格式。以下是一个自定义序列化器的示例 Configuration public class RedisConfig {Beanpublic RedisTemplateString, Object redisTemplate(RedisConnectionFactory connectionFactory) {RedisTemplateString, Object template new RedisTemplateString, Object();template.setConnectionFactory(connectionFactory);template.setKeySerializer(new StringRedisSerializer());template.setValueSerializer(new Jackson2JsonRedisSerializer(Object.class));return template;} }在此示例中我们通过自定义 Bean 配置了 RedisTemplate使用 StringRedisSerializer 序列化 Redis 键并使用 Jackson2JsonRedisSerializer 序列化 Redis 值为 JSON 格式。 Cacheable 注解 使用 Cacheable 注解来标记需要进行缓存的方法。以下是一个具有 Cacheable 注解的示例方法 Service public class UserService {Cacheable(value users, key #id)public User getUserById(Long id) {// 查询用户并返回} }在这个例子中Cacheable 注解用于标记 getUserById 方法而 value 属性则用于指定缓存的存储区域的名称。由于我们正在使用 Redis 作为缓存因此 Redis 中的 key 将由 Cacheable 注解中的 key 属性指定。在此示例中key 属性设置为 “#id”这意味着我们将使用方法参数 id 作为 Redis 缓存的键。 多参数 Cacheable 注解 在某些情况下我们需要以多个参数作为 key 来缓存数据。此时我们可以对 key 属性使用表达式 languageSpEL来设置多个参数 Service public class UserService {Cacheable(value users, key #id _ #name)public User getUserByIdAndName(Long id, String name) {// 查询用户并返回} }在上述示例中我们使用了表达式语言SpEL将 id 和 name 两个参数组合成了一个 Redis 缓存键。 缓存的有效期 缓存的有效期实际上是一个非常重要的问题对于缓存的性能和可靠性都有很大的影响。可以使用 Cacheable 注解上的 expire 属性来设置缓存的过期时间。以下是一个设置缓存时效的示例 Service public class UserService {Cacheable(value users, key #id, expire 600)public User getUserById(Long id) {// 查询用户并返回} }在此示例中我们添加了一个名为 expire 的属性该属性用于指定缓存的过期时间以秒为单位。在此示例中我们设置了缓存过期时间为 600 秒也就是 10 分钟。 缓存的清除 CacheEvict 有时候您需要清除 Redis 缓存中的某些数据以便在下一次访问时重建缓存。在 Spring Boot 中可以使用 CacheEvict 注解来清除 Redis 缓存中的数据。以下是一个使用 CacheEvict 注解的示例 Service public class UserService {Cacheable(value users, key #id)public User getUserById(Long id) {// 查询用户并返回}CacheEvict(value users, key #id)public void deleteUserById(Long id) {// 删除用户并返回}CacheEvict(value users, allEntries true)public void deleteAllUsers() {// 删除所有用户并返回} }在此示例中我们添加了删除单个用户和删除所有用户的两个方法使用 CacheEvict 注解来删除 Redis 缓存中的相应数据。请注意我们设置了 allEntries 属性为 true以删除所有缓存中的数据。 缓存的条件 有时候您需要在某些特定条件下才进行缓存操作。例如只有当用户年龄大于 18 岁时才进行缓存。在 Spring Boot 中可以使用 Cacheable、CachePut 和 CacheEvict 注解上的 condition 属性来设置缓存条件。以下是一个使用 condition 属性的示例 Service public class UserService {Cacheable(value users, key #id, condition #age 18)public User getUserById(Long id, int age) {// 查询用户并返回} }在此示例中我们添加了一个名为 condition 的属性该属性用于指定缓存的条件。在此示例中我们将 condition 属性设置为 “#age 18”这意味着只有当 age 大于 18 时才进行缓存操作。 缓存管理 在实际使用中应用程序缓存数据的管理也是非常重要的。Spring Boot 提供了一个名为 CacheManager 的接口您可以使用它来创建并管理缓存对象。以下是一个使用 CacheManager 的示例 Configuration EnableCaching public class CacheConfig extends CachingConfigurerSupport {BeanOverridepublic CacheManager cacheManager() {RedisCacheManager cacheManager RedisCacheManager.builder(redisConnectionFactory()).cacheDefaults(RedisCacheConfiguration.defaultCacheConfig().entryTtl(Duration.ofMinutes(10))).build();return cacheManager;}Beanpublic RedisConnectionFactory redisConnectionFactory() {return new LettuceConnectionFactory(localhost, 6379);} }在此示例中我们创建了一个名为 CacheConfig 的配置类并使用 EnableCaching 注解来开启缓存支持。然后我们通过实现 CachingConfigurerSupport 接口覆盖 cacheManager 方法创建了一个 RedisCacheManager 对象并将其返回。在此 RedisCacheManager 中我们使用默认的 RedisCacheConfiguration 进行了一些配置例如设置缓存的过期时间同时指定了 Redis 的连接信息。 结语 在本文中我们介绍了如何在 Spring Boot 应用程序中使用 Redis 进行缓存。我们介绍了如何通过自定义 RedisTemplate Bean 来配置自己的 Redis 序列化器在 Cacheable 注解中指定缓存区域和缓存键以及如何使用 CacheEvict 方法来清除 Redis 缓存中的数据。同时我们还展示了更高级的功能例如使用 CacheManager 对象管理缓存。
http://www.hkea.cn/news/14565111/

相关文章:

  • 深圳最好的营销网站建设公司免费的黄冈网站有哪些下载软件
  • 债权债务交易网站开发营销型网站有哪些类
  • 综合门户型网站有哪些万能短视频素材库免费
  • 建站平台选择建议有哪些做兼职的设计网站有哪些工作内容
  • 中国建筑总公司网站wordpress仿朋友圈
  • 网站建设公司-好发信息网高端网站建设 n磐石网络
  • 网站建设毅文科技学生个人网页制作成品代码
  • 网站建设有创意企业内部网站建设网站
  • 网上哪些网站可以做兼职网站建设服务费入什么科目
  • 网站开发实训步骤国产一级a做爰片免费网站
  • 网站充值支付宝收款怎么做wordpress全站音乐
  • 全国建设造价信息网站湛江vi设计公司
  • 广东炒股配资网站开发孝感网站开发的公司
  • 西部数码网站助手4.0镇江互联网公司
  • 具有口碑的产品设计网站哪里有免费的网站域名
  • 郑州网站搭建的公司修改已经有的网站怎么修改
  • 温州网站优化排名一学一做看视频网站
  • 上海网站推荐广东东莞可能封城吗最新
  • 石家庄网站建设全包找人做淘宝网站需要多少钱
  • angularjs网站模板做外贸公司网站多少钱
  • 乌拉圭网站后缀广州冼村社区服务中心电话
  • 门户网站建设进度中小企业网站构建设计
  • 襄阳网站建设八零后商业网站建设实训指导书
  • pc端网站未来安徽海通建设集团网站
  • 潍坊网络建站模板新郑网络推广公司
  • 济南做网站软件前端需要会wordpress
  • 网站推广专家十年乐云seo网页设计期末作业源码
  • 免费 网站建设域名注册过程
  • 湖南营销型网站建设 地址磐石网络专业的网站建设服务商
  • 懂做网站的人就是好广州做网站app