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

展示互动温州网站优化排名

展示互动,温州网站优化排名,最正规二手手表平台,敦煌网站外引流怎么做在Java中操作Redis 文章目录 在Java中操作Redis1、介绍2、Jedis3、Spring Data Redis3.1、对String的操作3.2、对哈希类型数据的操作3.3、对list的操作3.4、对set类型的操作3.5、对 ZSet类型的数据#xff08;有序集合#xff09;3.6、通用类型的操作 1、介绍 Redis 的Java客…在Java中操作Redis 文章目录 在Java中操作Redis1、介绍2、Jedis3、Spring Data Redis3.1、对String的操作3.2、对哈希类型数据的操作3.3、对list的操作3.4、对set类型的操作3.5、对 ZSet类型的数据有序集合3.6、通用类型的操作 1、介绍 Redis 的Java客户端很多官方推荐的有三种: Jedis Lettuce Redisson Spring对Redis客户端进行了整合提供了Spring Data Redis在Spring Boot项目中还提供了对应的Starter即spring-boot-starter-data-redis 2、Jedis Jedis的maven坐标: !--redis--dependencygroupIdredis.clients/groupIdartifactIdjedis/artifactIdversion2.8.0/version/dependency使用Jedis操作Redis的步骤: 获取连接执行操作关闭连接关闭连接 编写一个测试类测试redis package com.mannor.jedisdemo;import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import redis.clients.jedis.Jedis;SpringBootTest class JedisDemoApplicationTests {Testvoid contextLoads() {//1. 获取连接Jedis jedis new Jedis(localhost, 6379);//2. 执行操作关闭连接jedis.set(name, mannor);//3. 关闭连接jedis.close();} }在此之前需要将Redis服务启动起来redis-server.exe 程序运行前 测试项目运行后 测试其他 package com.mannor.jedisdemo;import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import redis.clients.jedis.Jedis;import java.util.Set;SpringBootTest class JedisDemoApplicationTests {/*** 使用jedis操作Redis*/Testvoid contextLoads() {//1. 获取连接Jedis jedis new Jedis(localhost, 6379);//2. 执行操作关闭连接jedis.set(name, mannor);//设置String name jedis.get(name);//获取System.out.println(name);jedis.del(name);//删除jedis.hset(myhash,addr,beijing);//设置哈希表值String hget jedis.hget(myhash, addr);//获取哈希表System.out.println(hget);SetString keys jedis.keys(*);//获取所有Redis的数据for(String key:keys){System.out.println(key);}//3. 关闭连接jedis.close();}} 测试项目源码上述测试项目的源码 3、Spring Data Redis 在Spring Boot项目中可以使用Spring Data Redis来简化Redis操作maven坐标: dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactId/dependencySpring Data Redis中提供了一个高度封装的类: RedisTemplate针对jedis客户端中大量api进行了归类封装,将同一类型操作封装为operation接口具体分类如下: ValueOperations简单K-V操作SetOperationsset类型数据操作ZSetOperationszset类型数据操作HashOperations针对map类型的数据操作ListOperations针对list类型的数据操作 yml配置文件 spring:application:name: springdataredis_demo#Redis相关配置redis:host: localhostport: 6379#password: 123456database: 0 #操作的是0号数据库(redis存在0-15号数据库默认在命令中使用select来切换)jedis:#Redis连接池配置pool:max-active: 8 #最大连接数max-wait: 1ms #连接池最大阻塞等待时间 max-idle: 4 #连接池中的最大空闲连接min-idle: 0 #连接池中的最小空闲连接在获取到RedisTemplate对象执行下列语句 redisTemplate.opsForValue().set(city,beijing);输出 原因RedisTemplate在操作Redis数据库的时候将key做了一个序列化上述结果就是序列化的结果为了解决这个问题就要配置一个配置类 package com.itheima.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;/*** Redis配置类*/ Configuration public class RedisConfig extends CachingConfigurerSupport {Beanpublic RedisTemplateObject, Object redisTemplate(RedisConnectionFactory connectionFactory) {RedisTemplateObject, Object redisTemplate new RedisTemplate();//默认的Key序列化器为JdkSerializationRedisSerializerredisTemplate.setKeySerializer(new StringRedisSerializer());redisTemplate.setHashKeySerializer(new StringRedisSerializer());redisTemplate.setConnectionFactory(connectionFactory);return redisTemplate;} }对于接下类的在java中对Redis的操作我们可以参照Redis中的常用命令 3.1、对String的操作 ValueOperations接口示例 SpringBootTest class SpringDataRedisApplicationTests {Autowiredprivate RedisTemplate redisTemplate;/*** 操作String类型的数据*/Testvoid contextLoads() {//redisTemplate.opsForValue().set(mannor ,rediaz);String mannor (String) redisTemplate.opsForValue().get(mannor);System.out.println(mannor);redisTemplate.opsForValue().set(k1, v1, 10L, TimeUnit.SECONDS);Boolean aBoolean redisTemplate.opsForValue().setIfAbsent(mannor1, mannor);System.out.println(aBoolean);} }3.2、对哈希类型数据的操作 SpringBootTest class SpringDataRedisApplicationTests {Autowiredprivate RedisTemplate redisTemplate;/*** 操作hash类型的数据*/Testpublic void hashTest() {HashOperations hashOperations redisTemplate.opsForHash();//存hashOperations.put(002, name, zhangsan);hashOperations.put(002, age, 20);hashOperations.put(002, addr, beijing);//取Object age hashOperations.get(002, age); // System.out.println((String) age);//获取所有字段Set keys hashOperations.keys(002);for (Object key : keys) { // System.out.println(key);}//获得hash结构中的所有值List values hashOperations.values(002);for (Object value : values) {System.out.println(value);}}} 3.3、对list的操作 Autowiredprivate RedisTemplate redisTemplate;/*** 操作list类型的数据*/Testpublic void listTest() {ListOperations listOperations redisTemplate.opsForList();//存listOperations.leftPush(list, 00);listOperations.leftPushAll(list, 01, 02, 03);//取值List list listOperations.range(list, 0, -1);for (Object val : list) {System.out.println(val);}System.out.println(------------------------------------------------------------);//获取长度来遍历Long size listOperations.size(list);for (int i 0; i size; i) {//出队列String element (String) listOperations.rightPop(list);System.out.println(element);}3.4、对set类型的操作 Autowiredprivate RedisTemplate redisTemplate;/*** 操作Set类型的数据*/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);}}3.5、对 ZSet类型的数据有序集合 Autowiredprivate RedisTemplate redisTemplate;/** * 操作ZSet类型的数据*/ Test public 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 myZset zSetOperations.range(myZset, 0, -1);for (String s : myZset) {System.out.println(s);}//修改分数zSetOperations.incrementScore(myZset, b, 20.0);//取值myZset zSetOperations.range(myZset, 0, -1);for (String s : myZset) {System.out.println(s);}//删除成员zSetOperations.remove(myZset, a, b);//取值myZset zSetOperations.range(myZset, 0, -1);for (String s : myZset) {System.out.println(s);} }3.6、通用类型的操作 Autowiredprivate RedisTemplate redisTemplate;/*** 通用操作针对不同的数据类型都可以操作*/Testpublic void testCommon() {//获取Redis中所有的keySetString keys redisTemplate.keys(*);for (String key : keys) {System.out.println(key);}//判断某个key是否存在Boolean itcast redisTemplate.hasKey(itcast);System.out.println(itcast);//删除指定keyredisTemplate.delete(myZset);//获取指定key对应的value的数据类型DataType dataType redisTemplate.type(myset);System.out.println(dataType.name());}测试项目源代码https://gitee.com/rediaz/note-management/tree/master/Regis/SpringDataRedis
http://www.hkea.cn/news/14333609/

相关文章:

  • 安康网站开发酒泉网站建设培训
  • 深圳哪家做网站比较好wordpress支付下载插件
  • 重新做网站天天爱天天做网站
  • 莱芜环保网站58同城推广
  • 长沙网站建设服务公司搭建一个网站
  • 做电商网站搭建晋升十大seo公司
  • 单位网站查询工资链接怎么做中企动力手机邮政登录
  • 小学生做甜品的网站网站建设的经济可行性
  • 西宁房地产网站建设湖里区建设局网站
  • 老鹰网站建设泉州钟南山最新消息
  • 上网服务沈阳seo全网营销
  • wap网站还有能打开的吗做网站 域名 网站 空间
  • 莆田网站建设外贸怎么做网页跳转
  • 东莞网站优化专家东莞网络推广服务外包
  • 新网站做优化要准备什么常州网站制作建设
  • 新手学网站建设Kgvid wordpress.org
  • 网络营销企业网站设计中国营销网官网
  • 做网站的论文摘要酷玛网站建设
  • 我有域名怎么建网站网络广告宣传怎么做
  • 哪些网站是用iframe家具设计网站推荐
  • 医院网站建设官网wordpress更新文章未找到页面
  • 手机网站自适应宽度中国建设银行总部网站
  • 公司网页网站建营销型网站上海制作
  • 上海建设银行网站首页万网cname域名解析
  • vue快速建站注册公司费用深圳
  • 做网站对企业有什么好处南宁网页制作设计营销
  • 国外免费网站域名服务器入口wordpress首页多样式
  • 深圳的深圳的网站建设公司wordpress怎么入驻写模板
  • 快速做网站服务好亿唐为什么2005年做虚拟网站
  • 跟我学做纸艺花网站如何用wd做网站设计