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

江阴哪家做网站便宜设计外包网站

江阴哪家做网站便宜,设计外包网站,义乌本地网站开发,有没有做盗版电影网站犯罪的🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 SpringBoot入门实战(第四篇&…

🤟致敬读者

  • 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉

📘博主相关

  • 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息

文章目录

  • SpringBoot入门实战(第四篇:Redis集成配置)
    • 1. 依赖引入(pom.xml)
    • 2. 参数配置(application.yml)
    • 3. 配置类(RedisConfig.java)
    • 4. 工具类(RedisUtils.java)
    • 5. 接口代码
    • 6. 调用测试


📃文章前言

  • 🔷文章均为学习工作中整理的笔记。
  • 🔶如有错误请指正,共同学习进步。

SpringBoot入门实战(第四篇:Redis集成配置)

SpringBoot入门实战系列篇专栏
SpringBoot入门实战(第一篇:环境准备和项目初始化)
SpringBoot入门实战(第二篇:MySQL集成配置)
SpringBoot入门实战(第三篇:MyBatis集成配置,自动生成代码配置)
SpringBoot入门实战(第四篇:Redis集成配置)
SpringBoot入门实战(第五篇:项目接口-用户管理)
SpringBoot入门实战(第六篇:项目接口-登录)
SpringBoot入门实战(第七篇:项目接口-商品管理)
SpringBoot入门实战(第八篇:项目接口-订单管理)完结篇
SpringBoot入门实战(项目搭建、配置、功能接口实现等一篇通关)


1. 依赖引入(pom.xml)

所需依赖

        <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId><version>2.7.18</version></dependency>

2. 参数配置(application.yml)

配置文件中配置redis相关参数
application.yml

spring:redis:host: 127.0.0.1port: 6379password: xh.1234database: 0jedis:pool:max-idle: 8min-idle: 1max-active: 8max-wait: -1timeout: 20000

3. 配置类(RedisConfig.java)

在com.xh.common.config包下创建redis配置类RedisConfig.java

package com.xh.common.config;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;/*** @func:* @author: LiBai* @version: v1.0* @createTime: 2025/4/17 9:47*/
@Configuration
public class RedisConfig {@Bean@SuppressWarnings("all")public RedisTemplate<String,Object> redisTemplate(RedisConnectionFactory connectionFactory){RedisTemplate<String, Object> template = new RedisTemplate<>();template.setConnectionFactory(connectionFactory);StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();template.setKeySerializer(stringRedisSerializer);template.setValueSerializer(stringRedisSerializer);GenericJackson2JsonRedisSerializer genericJackson2JsonRedisSerializer = new GenericJackson2JsonRedisSerializer();template.setHashKeySerializer(stringRedisSerializer);template.setHashValueSerializer(genericJackson2JsonRedisSerializer);template.afterPropertiesSet();return template;}
}

4. 工具类(RedisUtils.java)

在com.xh.common.utils包下创建Redis工具类RedisUtils.java

package com.xh.common.utils;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import javax.annotation.PostConstruct;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;/*** @func:* @author: LiBai* @version: v1.0* @createTime: 2025/4/17 9:46*/
@Component
public class RedisUtils {@AutowiredRedisTemplate<String, Object> redisTemplate;public static RedisTemplate<String, Object> _redisTemplate;@PostConstructpublic void init(){_redisTemplate = redisTemplate;}// =============================common============================/** 设置失效时间 */public static void setexpire(String key, long time) {_redisTemplate.expire(key, time, TimeUnit.SECONDS);}/** 获取过期时间 */public static long getexpire(String key) {return _redisTemplate.getExpire(key, TimeUnit.SECONDS);}/** 判断key是否存在 */public static boolean haskey(String key) {return _redisTemplate.hasKey(key);}/** 查询key */public static Set<String> search(String keyword){return _redisTemplate.keys(keyword);}/** 删除key */@SuppressWarnings("unchecked")public static void delete(String... key) {if (key.length == 1) {_redisTemplate.delete(key[0]);} else {_redisTemplate.delete((Collection<String>) CollectionUtils.arrayToList(key));}}// =============================String============================/** 获取普通类型缓存 */public static Object get(String key) {return key == null ? null : _redisTemplate.opsForValue().get(key);}/** 设置普通类型缓存 */public static void set(String key, Object value) {_redisTemplate.opsForValue().set(key, value);}/** 设置普通类型缓存 带失效时间*/public static void set(String key, Object value, long time) {_redisTemplate.opsForValue().set(key, value, time, TimeUnit.SECONDS);}// =============================Hash==============================/** 从hashmap中返回键位item的值 */public static Object hget(String key, String item) {return _redisTemplate.opsForHash().get(key, item);}/** 向hashmap写入一个键值对 */public static void hset(String key, String item, Object value) {_redisTemplate.opsForHash().put(key, item, value);}/** 从hashmap中删除名为item的key */public static void hremove(String key, Object... item) {_redisTemplate.opsForHash().delete(key, item);}/** 判断hashmap里面是否包含item的key */public static boolean hhasitem(String key, String item) {return _redisTemplate.opsForHash().hasKey(key, item);}/** 一次性从hashmap中返回所有的键值对 */public static Map<Object, Object> hmget(String key) {return _redisTemplate.opsForHash().entries(key);}/** 向hashmap写入多个个键值对 */public static void hmset(String key, Map<String, Object> map) {_redisTemplate.opsForHash().putAll(key, map);}// =============================List==============================/** 返回一个list的长度 */public static long lgetsize(String key) {return _redisTemplate.opsForList().size(key);}/** 返回一个list 给定开始index和结束index */public static List<Object> lget(String key, long start, long end) {return _redisTemplate.opsForList().range(key, start, end);}/*** jwh-20241022-获取列表第一个元素并从redis中移除* @param key redis数据的键* @return 返回移除的数据*/public static Object lGetPop(String key) {return _redisTemplate.opsForList().leftPop(key);}/** 通过索引index获取list中的值 index>=0时, 0 表头,1 第二个元素,依次类推;index<0时,-1,表尾,-2倒数第二个元素 */public static Object lgetindex(String key, long index) {return _redisTemplate.opsForList().index(key, index);}/** 将list放入缓存 */public static void lset(String key, Object value) {_redisTemplate.opsForList().rightPush(key, value);}/** 将list放入缓存 */public static void lset(String key, List<Object> value) {_redisTemplate.opsForList().rightPushAll(key, value);}/** 根据索引修改list中的某条数据 */public static void lupdateindex(String key, long index, Object value) {_redisTemplate.opsForList().set(key, index, value);}/** 移除N个值为value */public static long lRemove(String key, long count, Object value) {return _redisTemplate.opsForList().remove(key, count, value);}// =============================Set===============================/** 获取set的长度 */public static long sgetsetsize(String key) {return _redisTemplate.opsForSet().size(key);}/** 获取set中的全部元素 */public static Set<Object> sget(String key) {return _redisTemplate.opsForSet().members(key);}/** 判断set中是否包含value */public static boolean shaskey(String key, Object value) {return _redisTemplate.opsForSet().isMember(key, value);}/** set中添加对象*/public static long sset(String key, Object... values) {return _redisTemplate.opsForSet().add(key, values);}/** 删除set中的values元素*/public static long sremove(String key, Object... values) {return _redisTemplate.opsForSet().remove(key, values);}}

5. 接口代码

创建接口,新增数据到redis中,以存储字符串类型数据为例
com.xh.user.controller包下创建RedisTest.java

package com.xh.user.controller;import com.alibaba.fastjson.JSONObject;
import com.xh.common.utils.RedisUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** @func:* @author: LiBai* @version: v1.0* @createTime: 2025/4/17 9:59*/
@RestController
@RequestMapping(value = "/xh/v1/redis")
public class RedisTest {@RequestMapping(value = "/strAdd")public JSONObject strAdd(){RedisUtils.set("RedisTest001","this is a test for redis util");System.out.println("this is a test for redis util");return null;}
}

6. 调用测试

请求地址

127.0.0.1:8088/xh/v1/redis/strAdd

请求参数为空
在这里插入图片描述

调用后并查看redis客户端
在这里插入图片描述
可以看到数据已存入,其余方法类似

以上就是spring boot集成redis内容


📜文末寄语

  • 🟠关注我,获取更多内容。
  • 🟡技术动态、实战教程、问题解决方案等内容持续更新中。
  • 🟢《全栈知识库》技术交流和分享社区,集结全栈各领域开发者,期待你的加入。
  • 🔵​加入开发者的《专属社群》,分享交流,技术之路不再孤独,一起变强。
  • 🟣点击下方名片获取更多内容🍭🍭🍭👇

http://www.dtcms.com/wzjs/325092.html

相关文章:

  • 做本地网站百度推广按点击收费
  • 网站服务器空间选择易观数据app排行
  • 公司网站如何推广免费的网站
  • 杭州临平网站建设创建网页
  • 北京市建设委员会网站资质办理海豹直播nba
  • 信阳住房和城乡建设厅网站网络销售怎么才能找到客户
  • iis 网站 红百度seo快排软件
  • vi设计网站排行榜西安区seo搜索排名优化
  • 网站开发命名规则百度一下就知道官方
  • asp.net网站建设论文网络推广公司是干什么
  • 做网站可以自由职业吗清远新闻最新
  • 海南海口做网站关键词是什么
  • 网站建设中正在为您转关键词排名软件
  • 找手工活带回家做的找工作哪个网站最靠谱网络营销公司网络推广
  • 推荐几个做网站比较好的公司小红书推广方式
  • 坪山附近网站建设大数据
  • 网站访客qq提取拼多多怎么查商品排名
  • 一级a做爰片免费无码网站友情链接买卖代理
  • 网站建设与用户体验关键词优化推广公司
  • 做网站 花时间购买友情链接
  • 携程旅行网站内容的建设网络营销公司哪家可靠
  • 个体工商营业执照注册查询金华seo全网营销
  • 唐山网站建设哪家优惠乐事薯片软文推广
  • 购物网站需要哪些模块如何制作链接推广
  • 如何使用云服务建设网站杭州网站推广找哪家
  • 用网站ip做代理chrome官网下载
  • 网站备案没座机移动网站优化排名
  • 网站添加favicon九江seo优化
  • 建网站能上传多少数据seo关键词排名点击工具
  • 房地产销售头像seo百度关键词优化软件