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

建设银行滇龙行网站网站建设上海公司

建设银行滇龙行网站,网站建设上海公司,大连建设工业产品网站,上海网站建设seo公司哪家好在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.sadfv.cn/news/177588/

相关文章:

  • 军队信息化建设网站阿里logo设计平台
  • 常见的微网站平台有哪些方面seo优化排名服务
  • 如何制作营销网站做游戏攻略网站赚钱吗
  • 网站网业设计织梦做的网站如何修改
  • 设计接活的网站如何开始做婚恋网站
  • 平台网站很难做书法网站模版
  • 大连招投标网官网备案查询seo查询
  • asp化妆品网站源码qq群引流推广软件
  • 非常赚又一个wordpress站点WordPress局域网开通
  • 网站模板怎么使用教程四川省特种作业证查询
  • 番禺网站(建设信科网络)西安网站推广排名
  • 免费网站个人注册网站制作公司信科网络
  • 石家庄网站建设公司哪家好培训课程安排
  • 上海网站备案流程在中国建设工程造价管理协会网站
  • 医疗网站项目策划淘宝seo优化推广
  • 中国工程建筑门户网站官网安阳贴吧
  • 网站建设参考文献wordpress 数据库主机
  • 没有备案的网站怎么挂广告极简 wordpress
  • wordpress账号和站内网做酒的网站有哪些
  • seo关键词优化案例手机移动端网站怎么做seo
  • 手机网站你了解的在线生成图片
  • 门户网站建设投入自己做的网站可以挂在哪里
  • 做网站专题怎样添加微博搜索引擎网站使用的排名规则
  • 江苏润祥建设集团网站做网站哪些技术
  • 如何做系统集成公司网站青岛网站制作企业
  • 网站怎么做统计美乐乐是哪个公司做的网站
  • saas云建站平台源码单页面营销型网站制作
  • 网站建设与优化标准行业自助建站
  • 网站建设类行业资讯在哪个网站上可以找兼职做
  • 正版宝安网站推广dedecms新网站 上传到万网的空间