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

深圳网站建设网站设计软文推广网站设计标题

深圳网站建设网站设计软文推广,网站设计标题,广告公司简称,中天建设集团好不好在Java中操作Redis 1. 在Java中操作Redis1.1 Redis的Java客户端1.2 Spring Data Redis使用方式1.2.1 介绍1.2.1 环境搭建1.2.3 操作常见类型数据 1. 在Java中操作Redis 1.1 Redis的Java客户端 Redis 的 Java 客户端很多#xff0c;常用的几种#xff1a; JedisLettuceSpri… 在Java中操作Redis 1. 在Java中操作Redis1.1 Redis的Java客户端1.2 Spring Data Redis使用方式1.2.1 介绍1.2.1 环境搭建1.2.3 操作常见类型数据 1. 在Java中操作Redis 1.1 Redis的Java客户端 Redis 的 Java 客户端很多常用的几种 JedisLettuceSpring Data Redis Spring 对 Redis 客户端进行了整合提供了 Spring Data Redis在Spring Boot项目中还提供了对应的Starter即 spring-boot-starter-data-redis 1.2 Spring Data Redis使用方式 1.2.1 介绍 Spring Data Redis 是 Spring 的一部分提供了在 Spring 应用中通过简单的配置就可以访问 Redis 服务对 Redis 底层开发包进行了高度封装。在 Spring 项目中可以使用Spring Data Redis来简化 Redis 操作。 网址https://spring.io/projects/spring-data-redis Spring Boot提供了对应的Startermaven坐标 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactId /dependencySpring Data Redis中提供了一个高度封装的类RedisTemplate对相关api进行了归类封装,将同一类型操作封装为operation接口具体分类如下 ValueOperationsstring数据操作SetOperationsset类型数据操作ZSetOperationszset类型数据操作HashOperationshash类型的数据操作ListOperationslist类型的数据操作 1.2.1 环境搭建 1). 导入Spring Data Redis的maven坐标 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactId /dependency2). 配置Redis数据源 在application-dev.yml中添加 sky:redis:host: localhostport: 6379password: 123456database: 10解释说明 database:指定使用Redis的哪个数据库Redis服务启动后默认有16个数据库编号分别是从0到15。 可以通过修改Redis配置文件来指定数据库的数量。 3). 编写配置类创建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 {Beanpublic RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory){log.info(开始创建redis模板对象);RedisTemplate redisTemplate new RedisTemplate();// 设置redis的连接工厂对象redisTemplate.setConnectionFactory(redisConnectionFactory);// 设置redis key的序列化器redisTemplate.setKeySerializer(new StringRedisSerializer());return redisTemplate;} } 解释说明 当前配置类不是必须的因为 Spring Boot 框架会自动装配 RedisTemplate 对象但是默认的key序列化器为 JdkSerializationRedisSerializer导致我们存到Redis中后的数据和原始数据有差别故设置为 StringRedisSerializer序列化器。 4). 通过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.connection.DataType; import org.springframework.data.redis.core.*;import java.util.List; import java.util.Set; import java.util.concurrent.TimeUnit;SpringBootTest public class SpringRedisTest {AutowiredRedisTemplate redisTemplate;Testpublic void testRedisTemplate(){// string操作类型ValueOperations valueOperations redisTemplate.opsForValue();// hash操作类型HashOperations hashOperations redisTemplate.opsForHash();// list操作类型ListOperations listOperations redisTemplate.opsForList();// set操作类型SetOperations setOperations redisTemplate.opsForSet();// zet操作类型ZSetOperations zSetOperations redisTemplate.opsForZSet();}1.2.3 操作常见类型数据 1). 操作字符串类型数据 Testpublic void testRedisString(){// set, get, setex, setnxValueOperations valueOperations redisTemplate.opsForValue();valueOperations.set(name, lsm);String name (String) valueOperations.get(name);System.out.println(name);valueOperations.set(code, 1234, 3, TimeUnit.MINUTES);valueOperations.setIfAbsent(lock, 1);valueOperations.setIfAbsent(lock, 2);System.out.println(valueOperations.get(lock));}2). 操作列表类型数据 Testpublic void testRedisList(){// lpush lrange rpop llenListOperations listOperations redisTemplate.opsForList();listOperations.leftPush(list, a);listOperations.leftPushAll(list, b, c, d ); // 依次入栈栈顶为右边栈底为左边String tmp (String) listOperations.leftPop(list);System.out.println(tmp: tmp); // tmp: dLong size listOperations.size(list);System.out.println(size: size);List list listOperations.range(list, 0, -1);System.out.println(list: list); // list: [c, b, a]}3). 操作哈希类型数据 // hset hget hdel hkeys hvalsHashOperations hashOperations redisTemplate.opsForHash();hashOperations.put(key_1, name, lsm);hashOperations.put(key_1, age, 20);hashOperations.put(key_1, sex, 男);String name (String) hashOperations.get(key_1, name);System.out.println(name: name); // name: lsmLong delete hashOperations.delete(key_1, sex);System.out.println(delete: delete); // delete: 1Set key_1 hashOperations.keys(key_1);System.out.println(key_1: key_1); // key_1: [name, age]List key_2 hashOperations.values(key_1);System.out.println(key_2: key_2); // key_2: [lsm, 20]}4). 操作集合类型数据 Testpublic void testRedisSet() {// sadd smembers scard sinter sunion sremSetOperations setOperations redisTemplate.opsForSet();setOperations.add(set1, a, b, c, d);setOperations.add(set1, e);Set set1 setOperations.members(set1);System.out.println(set1: set1); // set1: [a, d, c, b, e]Long size setOperations.size(set1);System.out.println(size: size); // size 5setOperations.remove(set1, e);setOperations.add(set2, a, b, x, y);Set intersect setOperations.intersect(set1, set2);System.out.println(intersect: intersect); // intersect: [a, b]Set union setOperations.union(set1, set2);System.out.println(union: union); // union: [a, x, b, d, y, c]}5). 操作有序集合类型数据 Testpublic void testRedisZset() {// zadd zrange zincrby zremZSetOperations zSetOperations redisTemplate.opsForZSet();zSetOperations.add(zset, a, 10);zSetOperations.add(zset, b, 15);zSetOperations.add(zset, c, 12);Set zset1 zSetOperations.range(zset, 0, -1);System.out.println(zset1: zset1); // zset1: [a, c, b]zSetOperations.incrementScore(zset, c, 10);zSetOperations.remove(zset, a, b);}6). 通用命令操作 // keys exists type delSet keys redisTemplate.keys(*);System.out.println(keys: keys); // keys: [list, key_1, set1, zset, set2]Boolean name redisTemplate.hasKey(name);Boolean set1 redisTemplate.hasKey(set1);System.out.println(name: name); // name: falseSystem.out.println(set1: set1); // set1: truefor(Object key : keys){DataType type redisTemplate.type(key);System.out.println(type);}redisTemplate.delete(list);}
http://www.zqtcl.cn/news/556928/

相关文章:

  • 暖通设计网站推荐百度在西安的公司叫什么
  • 天津响应式网站设计网站建设的任务
  • 多语言网站 自助江门建设局网站
  • 宜兴做阿里巴巴网站常州外贸网站设计
  • 长沙米拓建站wordpress最底部版权
  • 小企业网站建设费用一年wordpress 怎么登陆
  • 阿里云建站可不可以备案wordpress评论滑动插件
  • 网站建设教程出售用苏州久远网络现在的网络营销方式
  • 浮动播放器wordpress刷神马seo排名首页排名
  • 建设网站呼叫中心有什么好处站长统计免费下载
  • 做网站电脑配置要求个高吗电子商务网站的建设包含哪些流程图
  • 青岛做网站大公司wordpress文章页加一言
  • 用哪个网站做相册视频文件夹谷歌ads
  • 注册top域名做公司网站男女做暖网站是什么
  • 郴州本地网站建设高端网站设计多少钱
  • 此网站域名即将过期广告制作属于什么行业
  • 牛牛襄阳网站建设wap网站asp源码
  • 信用网站建设招标书建网站需要什么手续
  • 重庆建网站方法网站开发和维护
  • 做网站需要什么人活动策划流程及细节
  • wordpress企业网站seo上海市
  • 北京建外贸网站公司网络域名是什么
  • 聚美优品网站建设方案上市公司的信息网站
  • 济南做网站比较好的公司知道吗为什么做美食视频网站
  • 药店网站源码宣传方式
  • word如何做网站链接淘宝客建站需要多少钱
  • 凡科网免费建站步骤及视频logo设计网页
  • 天梯网站建设软件开发公司职位
  • 建站公司外贸东方购物网上商城
  • 白银做网站企业免费网站模板