首页 > 数据库 >Spring-Redis 使用

Spring-Redis 使用

时间:2024-03-14 15:22:16浏览次数:25  
标签:Set HyperLogLog Spring opsForValue Redis key 使用 stringRedisTemplate String

基本类型: String

  1. 存储数据:
  • stringRedisTemplate.opsForValue().set("key", "value");
  1. 获取数据:
  • String value = stringRedisTemplate.opsForValue().get("key");
  1. 设置数据的过期时间(单位为秒):
  • stringRedisTemplate.expire("key", 60, TimeUnit.SECONDS);
  1. 删除数据:
  • stringRedisTemplate.delete("key");
  1. 检查 key 是否存在:
  • boolean exists = stringRedisTemplate.hasKey("key");
  1. 自增或自减操作:
  • Long incrementedValue = stringRedisTemplate.opsForValue().increment("key", 1);
  • Long decrementedValue = stringRedisTemplate.opsForValue().decrement("key", 1);
Hash
  1. 设置 Hash 类型数据:
  • stringRedisTemplate.opsForHash().put("hashKey", "field", "value");
  1. 获取 Hash 类型数据:
  • String hashValue = (String) stringRedisTemplate.opsForHash().get("hashKey", "field");
  List :
  • 向 List 中插入值:
stringRedisTemplate.opsForList().rightPush("listKey", "value1");
  • 从 List 中获取值:
String value = stringRedisTemplate.opsForList().index("listKey", 0); Set :
  • 向 Set 中添加值:
stringRedisTemplate.opsForSet().add("setKey", "value1");
  • 检查值是否存在于 Set 中:
boolean memberExists = stringRedisTemplate.opsForSet().isMember("setKey", "value1"); Sorted Set 类型:
  • 向 Sorted Set 中添加值,并设置分数:
stringRedisTemplate.opsForZSet().add("zsetKey", "value1", 10.0);
  • 获取指定范围内的值:
Set<String> rangeValues = stringRedisTemplate.opsForZSet().range("zsetKey", 0, -1);
  • 根据分数范围获取元素:
Set<String> rangeByScore = stringRedisTemplate.opsForZSet().rangeByScore("sortedSetKey", 0, 100); 特殊类型: 1. HyperLogLog (基数统计) HyperLogLog 用于进行基数统计,即对集合中不重复元素的个数进行估计。在 Redis 中,可以使用 HyperLogLog 数据结构来实现这一功能。 使用示例: // 添加元素到 HyperLogLog stringRedisTemplate.opsForHyperLogLog().add("hyperLogLogKey", "element1", "element2"); // 获取 HyperLogLog 的基数估计值 Long cardinality = stringRedisTemplate.opsForHyperLogLog().size("hyperLogLogKey"); 2. GeoSpatial (地理空间) GeoSpatial 数据结构用于处理地理位置信息,如存储经纬度坐标点,并进行附近位置搜索等操作。 使用示例: // 添加地理位置信息 stringRedisTemplate.opsForGeo().add("geoKey", new Point(13.361389, 38.115556), "Palermo"); // 获取两个地理位置之间的距离 Distance distance = stringRedisTemplate.opsForGeo().distance("geoKey", "Palermo", "Catania"); 3. Bitmaps (位图) Bitmaps 是一种位数组数据结构,用于存储位的状态(0 或 1),常用于处理一些状态标记或位运算操作。 使用示例: // 设置位图中指定位置的值 stringRedisTemplate.opsForValue().setBit("bitmapKey", 0, true); // 获取位图中指定位置的值 Boolean bitValue = stringRedisTemplate.opsForValue().getBit("bitmapKey", 0);  

标签:Set,HyperLogLog,Spring,opsForValue,Redis,key,使用,stringRedisTemplate,String
From: https://www.cnblogs.com/alicia0/p/18072931

相关文章

  • IIC的使用
    IIC特点主从通信高速IIC总线一般可达400kbps以上,用于低速设备通信传输距离短,一般设计PCB板时,外设嵌入pcb半双工通信,同一时间只能单项通信,任意时刻只能有一个主机IIC总线上可连接128个设备,但0x00地址不使用,因此127个设备,但实际设计情况,建议不超过8个,因为总线电容不能超过400......
  • 面试知识汇总:Redis简介
    RemoteDictionaryServer(远程字典服务),是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。基本的数据结构:String是Redis最基础的数据结构类型,它是二进制安全的,可以存储图片或者序列化的对象,值最大存储为512M。......
  • 使用openpyxl模块比对两个excel表格
      需求:集团发了一张即将下线的服务器台账表格,里面有整个集团个部门计划下线的服务器列表,大概有三五百行,但是我们部门只有80多台服务器,还不一定都包含在集团下发的表格里。手动一个个去查比较麻烦,写了个python脚本去检测两个表格中相同的地方,并返回单元格信息。第一步、取出......
  • netcat的使用
    目录一、基本使用简介二、netcat的使用渗透测试(端口扫描)要判断某个主机的监听端口是否能连上3.监听服务器4.传输文件5.网速吞吐量测试一、基本使用简介usage:nc[-46CDdFhklNnrStUuvZz][-Ilength][-iinterval][-Mttl][-mminttl][-Olength][-Pproxy_user......
  • netfilter: iptable的使用
    netfilter相关网址官网:netfilter/iptablesprojecthomepageiptables基础知识详解_LarryHai6的博客-CSDN博客_iptables使用iptables进行端口转发-云+社区-腾讯云(tencent.com)原理图iptables1.原理叙述iptables具有Filter,NAT,Mangle,Raw四种内建表:1.Filter......
  • 基于springboot的高校招生系统(含源码+sql+视频导入教程+文档+PPT)
    ......
  • 微服务分布式springcloud研究生志愿填报辅助系统
    本文讲述了研究生志愿填报辅助系统。结合电子管理系统的特点,分析了研究生志愿填报辅助系统的背景,给出了研究生志愿填报辅助系统实现的设计方案。本论文主要完成不同用户的权限划分,不同用户具有不同权限的操作功能,在用户模块,主要有用户进行注册和登录,用户可以实现查看院校信息......
  • Spring Cloud原理详解:构建云原生应用的利器
    SpringCloud原理详解:构建云原生应用的利器引言在当今云原生应用的潮流中,微服务架构已经成为了构建可扩展、高可用性系统的首选范式之一。而SpringCloud作为构建微服务架构的利器,不仅提供了丰富的解决方案,还拥有强大的生态系统,为开发人员提供了便利与效率。本文将深入探......
  • 精通Spring Boot单元测试:构建健壮的Java应用
    引言:在当今软件开发领域,单元测试已经成为确保应用质量和可维护性的关键步骤。特别是在Java生态系统中,SpringBoot框架作为一种广泛应用的解决方案,其对于单元测试的支持更是让开发者受益匪浅。本博客的目标是为开发者提供一份清晰易懂的指南,帮助他们利用SpringBoot框架构建......
  • ESP32-Cam 初步使用:网络摄像头示例
    此片意在教会你如何初步使用ESP32-cam阅读本文,你将学会:一.学会安装Arduino二.学会使用相关例程一、Arduino的下载安装及汉化1.下载Arduino(Arduino软件下载官网)2.Arduino的安装3.Arduino的汉化:左上角File-->Preferences(Ctrl+逗号也能进入)-->Settings-->Lang......