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

广州做网络服装的网站建设漳州seo建站

广州做网络服装的网站建设,漳州seo建站,常用设计网站有哪些软件,电商关键词工具文章目录一、Jedis二、Spring Data Redis#xff08;常用#xff09;【1】pom.xml【2】application.yml【3】RedisConfig【4】RuiJiWaiMaiApplicationTests三、Spring Cache【1】常用注解#xff1a;【2】使用案例【3】底层不使用redis#xff0c;重启服务#xff0c;内存… 文章目录一、Jedis二、Spring Data Redis常用【1】pom.xml【2】application.yml【3】RedisConfig【4】RuiJiWaiMaiApplicationTests三、Spring Cache【1】常用注解【2】使用案例【3】底层不使用redis重启服务内存丢失解决pom.xmlapplication.yml启动类Result注解使用一、Jedis dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/version /dependency dependencygroupIdredis.clients/groupIdartifactIdjedis/artifactIdversion2.8.0/version /dependency二、Spring Data Redis常用 【1】pom.xml dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactId /dependency【2】application.yml spring:redis: #redis配置host: localhostport: 6379#password:database: 0 #默认提供16个数据库00号数据库jedis:pool: #redis连接池配置max-active: 8 #最大连接数max-idle: 4 #最大空闲连接max-wait: 1ms #最大阻塞等待时间min-idle: 0 #最小空闲连接【3】RedisConfig package com.example.ruijiwaimai.config;import org.springframework.cache.annotation.CachingConfigurerSupport; 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.StringRedisSerializer;Configuration public class RedisConfig extends CachingConfigurerSupport {Beanpublic RedisTemplateObject,Object redisTemplate(RedisConnectionFactory connectionFactory){RedisTemplateObject,Object redisTemplatenew RedisTemplate();// 默认的key序列化器为JdkSerializationRedisSerializerredisTemplate.setKeySerializer(new StringRedisSerializer());redisTemplate.setHashKeySerializer(new StringRedisSerializer());redisTemplate.setConnectionFactory(connectionFactory);return redisTemplate;} }【4】RuiJiWaiMaiApplicationTests package com.example.ruijiwaimai;import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.data.redis.connection.DataType; import org.springframework.data.redis.core.*;import java.util.List; import java.util.Set; import java.util.concurrent.TimeUnit;SpringBootTest class RuiJiWaiMaiApplicationTests {Autowiredprivate RedisTemplate redisTemplate;/** 操作String类型数据ValueOperations简单K-V操作* */Testpublic void testString() {redisTemplate.opsForValue().set(city123, shenzhen); // \xac\xed\x00\x05t\x00\x04city做了序列化无法用get city获取》config配置RedisConfigString value (String) redisTemplate.opsForValue().get(city123);System.out.println(value);redisTemplate.opsForValue().set(key1, value1, 10, TimeUnit.SECONDS);Boolean aBoolean redisTemplate.opsForValue().setIfAbsent(city1234, nanjing);System.out.println(aBoolean);}/** 操作Hash类型数据HashOperations针对map类型的数据操作* */Testpublic void testHash() {HashOperations hashOperations redisTemplate.opsForHash();hashOperations.put(002, name, xiaoming);hashOperations.put(002, age, 20);String age (String) hashOperations.get(002, age);System.out.println(age);// 获取所有字段Set keys hashOperations.keys(002);for (Object key : keys) {System.out.println(key);}// 获取所有值List values hashOperations.values(002);for (Object value : values) {System.out.println(value);}}/** 操作List类型数据ListOperations针对list类型的数据操作* */Testpublic void testList() {ListOperations listOperations redisTemplate.opsForList();//存值listOperations.leftPush(mylist, a);listOperations.leftPushAll(mylist, b, c, d);//取值ListString mylist listOperations.range(mylist, 0, -1);for (String value : mylist) {System.out.println(value);}//获得列表长度Long size listOperations.size(mylist);int lSize size.intValue();for (int i 0; i lSize; i) {//出队列Object element listOperations.rightPop(mylist);System.out.println(出队列: element);}}/** 操作Set无序集合类型数据SetOperationsset类型数据操作* */Testpublic void testSet() {SetOperations setOperations redisTemplate.opsForSet();//存值setOperations.add(myset, a, b, c, a);//取值SetString myset setOperations.members(myset);for (String o : myset) {System.out.println(o);}//删除成员setOperations.remove(myset, a, b);myset setOperations.members(myset);for (String o : myset) {System.out.println(删除后的数据 o);}}/** 操作ZSet有序集合类型数据ZSetOperationszset类型数据操作* */Testpublic void testZSet() {ZSetOperations zSetOperations redisTemplate.opsForZSet();//存值zSetOperations.add(myZset, a, 10.0);zSetOperations.add(myZset, b, 11.0);zSetOperations.add(myZset, c, 12.0);zSetOperations.add(myZset, a, 13.0);//取值SetString myZet zSetOperations.range(myZset, 0, -1);for (String s : myZet) {System.out.println(s);}//修改分数zSetOperations.incrementScore(myZset, b, 20.0);myZet zSetOperations.range(myZset, 0, -1);for (String s : myZet) {System.out.println(修改分数: s);}//删除成员zSetOperations.remove(myZset, a, b);myZet zSetOperations.range(myZset, 0, -1);for (String s : myZet) {System.out.println(删除后的成员: s);}}/** 通用操作* */Testpublic void testCommon() {//获取redis中所有的keySet keys redisTemplate.keys(*);for (Object key : keys) {System.out.println(key);}//判断某个key是否存在Boolean itcast redisTemplate.hasKey(itcast);System.out.println(判断某个key是否存在:itcast);//删除指定keyredisTemplate.delete(myZset);//获取指定key对应的value的数据类型DataType dataType redisTemplate.type(001);System.out.println(获取指定key对应的value的数据类型:dataType.name());} }三、Spring Cache 【1】常用注解 注解说明EnableCaching开启缓存注解功能Cacheable判断是否有缓存数据有》返回缓存数据没有》放到缓存中CachePut将方法的返回值放到缓存中CacheEvict将一条或多条数据从缓存中删除 【2】使用案例 package com.itheima.controller;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.itheima.entity.User; import com.itheima.service.UserService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.CacheManager; import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.CachePut; import org.springframework.cache.annotation.Cacheable; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.List;RestController RequestMapping(/user) Slf4j public class UserController {Autowiredprivate CacheManager cacheManager;Autowiredprivate UserService userService;/*** CachePut将方法返回值放入缓存* value缓存的名称每个缓存名称下面可以有多个key* key缓存的key*/CachePut(value userCache,key #user.id)PostMappingpublic User save(User user){userService.save(user);return user;}/*** CacheEvict清理指定缓存* value缓存的名称每个缓存名称下面可以有多个key* key缓存的key*/CacheEvict(value userCache,key #p0)//CacheEvict(value userCache,key #root.args[0])//CacheEvict(value userCache,key #id)DeleteMapping(/{id})public void delete(PathVariable Long id){userService.removeById(id);}//CacheEvict(value userCache,key #p0.id)//CacheEvict(value userCache,key #user.id)//CacheEvict(value userCache,key #root.args[0].id)CacheEvict(value userCache,key #result.id)PutMappingpublic User update(User user){userService.updateById(user);return user;}/*** Cacheable在方法执行前spring先查看缓存中是否有数据如果有数据则直接返回缓存数据若没有数据调用方法并将方法返回值放到缓存中* value缓存的名称每个缓存名称下面可以有多个key* key缓存的key* condition条件满足条件时才缓存数据* unless满足条件则不缓存*/Cacheable(value userCache,key #id,unless #result null)GetMapping(/{id})public User getById(PathVariable Long id){User user userService.getById(id);return user;}Cacheable(value userCache,key #user.id _ #user.name)GetMapping(/list)public ListUser list(User user){LambdaQueryWrapperUser queryWrapper new LambdaQueryWrapper();queryWrapper.eq(user.getId() ! null,User::getId,user.getId());queryWrapper.eq(user.getName() ! null,User::getName,user.getName());ListUser list userService.list(queryWrapper);return list;} }【3】底层不使用redis重启服务内存丢失解决 pom.xml dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactId /dependency dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-cache/artifactId /dependencyapplication.yml redis: #redis配置host: 192.168.139.128port: 6379#password:database: 0 #默认提供16个数据库00号数据库cache:redis:time-to-live: 1800000 #设置缓存数据的过期时间启动类 Result 注解使用 PostMapping()CacheEvict(value setmealCache,allEntries true)public ResultString save(RequestBody SetmealDto setmealDto) {log.info(套餐信息{}, setmealDto);setmealService.saveWithDish(setmealDto);return null;}//删除套餐DeleteMapping()CacheEvict(value setmealCache,allEntries true)//清除setmealCache下的所有缓存public ResultString delete(RequestParam ListLong ids){setmealService.removeWithDish(ids);return Result.success(套餐数据删除成功);}/*** 根据条件查询套餐数据* param setmeal* return*/GetMapping(/list)Cacheable(value setmealCache,key #setmeal.categoryId _ #setmeal.status)public ResultListSetmeal list(Setmeal setmeal){LambdaQueryWrapperSetmeal queryWrapper new LambdaQueryWrapper();queryWrapper.eq(setmeal.getCategoryId() ! null,Setmeal::getCategoryId,setmeal.getCategoryId());queryWrapper.eq(setmeal.getStatus() ! null,Setmeal::getStatus,setmeal.getStatus());queryWrapper.orderByDesc(Setmeal::getUpdateTime);ListSetmeal list setmealService.list(queryWrapper);return Result.success(list);}
http://www.hkea.cn/news/14306919/

相关文章:

  • 钟表商城网站建设方案wordpress创建配置文件
  • 正黄集团博弘建设官方网站昆明百度网站建设
  • 站长平台社区wordpress 严重 漏洞
  • 介绍网站设计风格网站运营目的
  • 建设网站选题应遵循的规则咋样做网站视频
  • 开发网站用什么语言好wordpress拷站
  • 电子商务网站网络拓扑图增加浏览量的软件
  • 郑州 网站建设有限公司WordPress调用json数据
  • wordpress 浏览量排序seo系统
  • 天津市建设教育培训中心网站网站关键词和描述
  • 专注吴中网站建设推广怎么制作公众号视频
  • 网站建设需要用什么书怎么可以做网站的网站
  • 如何做双语网站上海松江做网站公司
  • 怎么把自己做的网站放到百度上做行业网站赚钱
  • 旅游网站设计源码包装设计专业是学什么的
  • 绍兴做网站公司市场营销策划公司
  • 外贸网站 wordpress百度搜索指数排名
  • 莆田网站建设莆田南宁微网站制作需要多少钱
  • 中国建设银行网站查工资宾馆在什么网站做推广效果好
  • 青岛专业设计网站公司做U启的网站
  • 广州安全教育平台视频seo营销网站的设计标准
  • 绵阳市网站建立怎么跳转网站
  • 怎么用ps做网站首页背景图片软件开发与网站开发
  • 仙游县住房和城乡建设局网站陈田拆车件网上商城
  • 777fj做最好的网站网页设计公司兴田德润i简介
  • 淘宝可以到哪些网站做推广网站首页phpcms怎么添加
  • 无锡cms建站天元建设集团有限公司新中大
  • 云南网站建设专业品牌代做原创毕业设计网站
  • 做网站项目计划书网站建设与运营公司部门结构
  • 如何网站推广宣传泉州网上办事大厅