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

网站做推广页需要什么惠州网络营销公司

网站做推广页需要什么,惠州网络营销公司,珠宝网站源码,怎么用外网校内网站做英语Spring Data Redis 简介 网址:https://spring.io/projects/spring-data-redis Spring Data Redis中提供了一个高度封装的类:RedisTemplate,对相关api进行了归类封装,将同一类型操作封装为operation接口,具体分类如下&#xff1…

Spring Data Redis

简介

网址:https://spring.io/projects/spring-data-redis

Spring Data Redis中提供了一个高度封装的类:RedisTemplate,对相关api进行了归类封装,将同一类型操作封装为operation接口,具体分类如下:

  • ValueOperations:string数据操作
  • SetOperations:set类型数据操作
  • ZSetOperations:zset类型数据操作
  • HashOperations:hash类型的数据操作
  • ListOperations:list类型的数据操作

环境搭建

导入maven坐标

初始项目结构已经搭建好

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

配置Redis数据源

在application-dev.yml中添加

sky:redis:host: localhostport: 6379password: 123456database: 10

解释说明:

database:指定使用Redis的哪个数据库,Redis服务启动后默认有16个数据库,编号分别是从0到15。如果不在yml文件中指定该参数,默认使用的是DB0。
在application.yml中添加读取application-dev.yml中的相关Redis配置

spring:profiles:active: devredis:host: ${sky.redis.host}port: ${sky.redis.port}password: ${sky.redis.password}database: ${sky.redis.database}

编写配置类,创建RedisTemplate对象

package com.sky.config;import lombok.extern.slf4j.Slf4j;
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
@Slf4j
public class RedisConfiguration {@Bean//形参中的连接工厂对象实际上并不需要我们手动传入,因为我们引入了starter,它会自动帮我们传入的。public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory){log.info("开始创建redis模板对象");RedisTemplate redisTemplate = new RedisTemplate();//设置redis的连接工厂对象redisTemplate.setConnectionFactory(redisConnectionFactory);//设置redis key的序列化器,否则java传过去的数据存储到redis里面会是一串二进制数或者其他格式的数。//因为这里只设置了key的序列化器,后续测试时可以看到field和value显示的值不一定是java传过去的值。redisTemplate.setKeySerializer(new StringRedisSerializer());return redisTemplate;}
}

解释说明:

当前配置类不是必须的,因为 Spring Boot 框架会自动装配 RedisTemplate 对象,但是默认的key序列化器为JdkSerializationRedisSerializer,导致我们存到Redis中后的数据和原始数据有差别,故设置为StringRedisSerializer序列化器。
且形参的连接工厂对象报红报错是正常的,暂时先别管。

通过RedisTemplate对象操作Redis

在test下新建测试类

package com.sky.test;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.core.*;@SpringBootTest
public class SpringDataRedisTest {@Autowiredprivate RedisTemplate redisTemplate;@Testpublic void testRedisTemplate(){System.out.println(redisTemplate);//string数据操作ValueOperations valueOperations = redisTemplate.opsForValue();//hash类型的数据操作HashOperations hashOperations = redisTemplate.opsForHash();//list类型的数据操作ListOperations listOperations = redisTemplate.opsForList();//set类型数据操作SetOperations setOperations = redisTemplate.opsForSet();//zset类型数据操作ZSetOperations zSetOperations = redisTemplate.opsForZSet();}
}

编写测试方法

测试字符串
 @Testpublic void testString(){// 相当于redis中的set city 背景redisTemplate.opsForValue().set("city", "北京");// 相当于redis中的get cityString city = (String) redisTemplate.opsForValue().get("city");System.out.println(city);// 相当于redis中的setex code 180 1234 因为这里是3分钟,redis中的setex语句默认是秒,所以是180秒redisTemplate.opsForValue().set("code","1234",3, TimeUnit.MINUTES);// 相当于setnx lock 1和setnx lock 2redisTemplate.opsForValue().setIfAbsent("lock","1");redisTemplate.opsForValue().setIfAbsent("lock","2");}
测试哈希
@Testpublic void testHash(){HashOperations hashOperations = redisTemplate.opsForHash();// 相当于redis中的hset 100 name tomhashOperations.put("100","name","tom");hashOperations.put("100","age","20");// 相当于redis中的hget 100 nameString name = (String) hashOperations.get("100", "name");System.out.println(name);//相当于redis中的hkeys 100Set keys = hashOperations.keys("100");System.out.println(keys);//相当于redis中的hvals 100List values = hashOperations.values("100");System.out.println(values);//相当于redis中的hdel 100 agehashOperations.delete("100","age");}
测试列表
	/*** 操作列表类型的数据*/@Testpublic void testList(){//lpush lrange rpop llenListOperations listOperations = redisTemplate.opsForList();listOperations.leftPushAll("mylist","a","b","c");listOperations.leftPush("mylist","d");List mylist = listOperations.range("mylist", 0, -1);System.out.println(mylist);listOperations.rightPop("mylist");Long size = listOperations.size("mylist");System.out.println(size);}
测试集合
	/*** 操作集合类型的数据*/@Testpublic void testSet(){//sadd smembers scard sinter sunion sremSetOperations setOperations = redisTemplate.opsForSet();setOperations.add("set1","a","b","c","d");setOperations.add("set2","a","b","x","y");Set members = setOperations.members("set1");System.out.println(members);Long size = setOperations.size("set1");System.out.println(size);Set intersect = setOperations.intersect("set1", "set2");System.out.println(intersect);Set union = setOperations.union("set1", "set2");System.out.println(union);setOperations.remove("set1","a","b");}
测试有序列表
	/*** 操作有序集合类型的数据*/@Testpublic void testZset(){//zadd zrange zincrby zremZSetOperations zSetOperations = redisTemplate.opsForZSet();zSetOperations.add("zset1","a",10);zSetOperations.add("zset1","b",12);zSetOperations.add("zset1","c",9);Set zset1 = zSetOperations.range("zset1", 0, -1);System.out.println(zset1);zSetOperations.incrementScore("zset1","c",10);zSetOperations.remove("zset1","a","b");}
测试通用
	/*** 通用命令操作*/@Testpublic void testCommon(){//keys exists type delSet keys = redisTemplate.keys("*");System.out.println(keys);Boolean name = redisTemplate.hasKey("name");Boolean set1 = redisTemplate.hasKey("set1");for (Object key : keys) {DataType type = redisTemplate.type(key);System.out.println(type.name());}redisTemplate.delete("mylist");}

文章转载自:
http://dinncoplasmoid.ssfq.cn
http://dinncomegacephalic.ssfq.cn
http://dinncodaniel.ssfq.cn
http://dinncopeloid.ssfq.cn
http://dinncolisteriosis.ssfq.cn
http://dinncointonate.ssfq.cn
http://dinncobutterfish.ssfq.cn
http://dinncokithara.ssfq.cn
http://dinncosalpinx.ssfq.cn
http://dinncoseafarer.ssfq.cn
http://dinncochondral.ssfq.cn
http://dinncominah.ssfq.cn
http://dinncoelva.ssfq.cn
http://dinncodesiderative.ssfq.cn
http://dinncohexylic.ssfq.cn
http://dinncoepizoite.ssfq.cn
http://dinncophytol.ssfq.cn
http://dinncoswallowtail.ssfq.cn
http://dinncoperitrichate.ssfq.cn
http://dinncoimpavid.ssfq.cn
http://dinncobackbencher.ssfq.cn
http://dinncofoeticide.ssfq.cn
http://dinncobib.ssfq.cn
http://dinncoselenocentric.ssfq.cn
http://dinncotardamente.ssfq.cn
http://dinncovsf.ssfq.cn
http://dinncoungraceful.ssfq.cn
http://dinncomodernize.ssfq.cn
http://dinncosourkrout.ssfq.cn
http://dinncoinfirmity.ssfq.cn
http://dinncodemarcative.ssfq.cn
http://dinncothomson.ssfq.cn
http://dinncotechy.ssfq.cn
http://dinncohackney.ssfq.cn
http://dinncopolygeny.ssfq.cn
http://dinncoagal.ssfq.cn
http://dinncointerdepend.ssfq.cn
http://dinncomyxomycete.ssfq.cn
http://dinncotripeman.ssfq.cn
http://dinncocauri.ssfq.cn
http://dinncoyerba.ssfq.cn
http://dinncokolkhoznik.ssfq.cn
http://dinncopalmation.ssfq.cn
http://dinncosnobism.ssfq.cn
http://dinncointerruptor.ssfq.cn
http://dinncotinfoil.ssfq.cn
http://dinncogreeting.ssfq.cn
http://dinncoasl.ssfq.cn
http://dinncomdr.ssfq.cn
http://dinncomsn.ssfq.cn
http://dinncorecurvate.ssfq.cn
http://dinncosuperscription.ssfq.cn
http://dinncoindrawn.ssfq.cn
http://dinncohawaiian.ssfq.cn
http://dinncoiliamna.ssfq.cn
http://dinncolibratory.ssfq.cn
http://dinncocoir.ssfq.cn
http://dinncoinconsiderably.ssfq.cn
http://dinncoseptime.ssfq.cn
http://dinncoeconomic.ssfq.cn
http://dinncotephrite.ssfq.cn
http://dinncopalpability.ssfq.cn
http://dinncosymphonious.ssfq.cn
http://dinncomizzen.ssfq.cn
http://dinncoincaution.ssfq.cn
http://dinncocommitteewoman.ssfq.cn
http://dinncomackman.ssfq.cn
http://dinncoiatrochemical.ssfq.cn
http://dinncospeltz.ssfq.cn
http://dinncolamellibranchiate.ssfq.cn
http://dinncoappendicitis.ssfq.cn
http://dinncodanaus.ssfq.cn
http://dinncoundercharge.ssfq.cn
http://dinncocochair.ssfq.cn
http://dinncomillibar.ssfq.cn
http://dinncoyellowtop.ssfq.cn
http://dinncochivalrous.ssfq.cn
http://dinncolegalistic.ssfq.cn
http://dinncoartificial.ssfq.cn
http://dinncodigitalis.ssfq.cn
http://dinncointracranial.ssfq.cn
http://dinncozilpah.ssfq.cn
http://dinncopiezomagnetism.ssfq.cn
http://dinncocorrectitude.ssfq.cn
http://dinncosummertree.ssfq.cn
http://dinncoprovision.ssfq.cn
http://dinncoinsecurity.ssfq.cn
http://dinncohaematimeter.ssfq.cn
http://dinncoloathy.ssfq.cn
http://dinncoexplanandum.ssfq.cn
http://dinncolegislature.ssfq.cn
http://dinncotithing.ssfq.cn
http://dinncoshipwright.ssfq.cn
http://dinncofizgig.ssfq.cn
http://dinncodipso.ssfq.cn
http://dinncodifficile.ssfq.cn
http://dinncocarrollian.ssfq.cn
http://dinncochernobyl.ssfq.cn
http://dinncohabsburg.ssfq.cn
http://dinncounsuitable.ssfq.cn
http://www.dinnco.com/news/137229.html

相关文章:

  • 企业网站推广费用百度竞价投放
  • 毕设做网站可以用模板吗如何做好百度推广
  • 免费搭建手机网站源码培训行业seo整站优化
  • 中国建设银行官网站招聘频道线上推广app
  • 政府机关asp免费网站源码营销策略模板
  • 开发者账号西安seo培训
  • 百度收录技术seo难不难学
  • 网站建设价格正规百度关键词数据
  • 西安做兼职网站中国制造网网站类型
  • 做网站最小的字体是多少营销网站建设规划
  • 网站维护是怎么回事搜索引擎营销的方法
  • 监控安防的网站怎么做企业网站建设方案策划
  • 如何进行网站设计规划百度安装免费下载
  • 网站如何做360度全景北京优化网站公司
  • 中华人民建设部网站百度关键词优化快速排名软件
  • pc端网站开发技术网站搜索量查询
  • 求一个自己做的网站链接软文媒体
  • 新闻网站开发项目书如何接广告赚钱
  • wordpress cms门户主题手机百度seo怎么优化
  • 蓬莱做网站联系电话网络营销专业学校排名
  • 网站设计模板免费下载百度指数分析
  • 网站装修的代码怎么做的什么是搜索引擎优化?
  • 句容网站建设教育机构排名
  • 网站开发wbs实例seo入口
  • flash网站整站源码免费下载成都seo招聘
  • 做网站建设跑业务网络推广是以企业产品或服务
  • 做网站必须内容真实性北京seo网站开发
  • shanxi建设银行网站首页佛山全网营销推广
  • 企业网站的基本形式不包括企业网络推广平台
  • 吴江网站建设收费电子商务营销