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

Redis常见类型

    • 常用类型
      • String字符串类型
      • Hash字典类型
      • List列表类型
      • Set集合类型
      • ZSet有序集合类型
    • Java程序操作Redis类型
      • 代码操作Redis

常用类型

String字符串类型

使用方式:
在这里插入图片描述

使用场景:
在这里插入图片描述

Hash字典类型

字典类型(Hash) 又被成为散列类型或者是哈希表类型,它是将一个键值(key) 和一个特殊的“哈希表”关联起来,这个“哈希表”表包含两列数据: 字段和值,它就相当于 Java 中的Map<String,Map<String,String>> 结构。套娃是吧!
在这里插入图片描述
底层实现:
在这里插入图片描述

使用场景:
在这里插入图片描述

List列表类型

列表类型(list)是一个使用链表结构存储的有序结构,它的元素插入会按照先后顺序存储到链表结构中,因此它的元素操作(插入和删除)时间复杂度为 O(1),但它的查询时间复杂度为 O(n)
使用方式:
在这里插入图片描述

使用场景:
在这里插入图片描述

Set集合类型

list是可以先进先出;可以重复;set不可以重复;如果存的重复就合并数据;但是是无序的。
在这里插入图片描述

使用场景:
在这里插入图片描述

ZSet有序集合类型

有序集合Sorted Set也称为ZSet;因为底层使用压缩表(ziplist)和跳跃表(skiplist)实现。
压缩列表 (ziplist) 本质上就是个字节数组是Redis为了节约内存而设计的一种线性数据结构,可以包含任意多个元素,每个元素可以是一个字节数组或一个整数。元素少的时候或者元素多但是比较短小;即数据比较少就使用压缩包;数据多就升级跳跃表。

有序集合类型(Sorted Set) 相比于集合类型多了一个排序属性 score (分值),对于有序集合 ZSet 来说,每个存储元素相当于有两个值组成的,一个是有序结合的元素值,一个是排序值。有序集合的存储元素值也是不能重复的,但分值是可以重复的。
在这里插入图片描述

使用场景:
学生成绩排名;粉丝列表;根据关注的先后时间排序
在这里插入图片描述

Java程序操作Redis类型

代码操作Redis

1:搞定配置后

2:注入RedisTemplate对象; 这个对象是Java程序和Redis交互工具;提供很多操作RedisAPI。直接通过这些API去操作Redis; 不用使用命令
(注意:如果是专业版idea;@Autowired会提示报错;但是不影响效果)

3:常见类型操作
在这里插入图片描述
通过这些对象的方法就能实现真正操作Redis

具体代码:

@RestController
public class RedisController {@Resourceprivate RedisTemplate redisTemplate;@RequestMapping("/save")public String save() {redisTemplate.opsForValue().set("userinfo", "zhangsan");//默认是没有设置过期时间;负1 ;           //redisTemplate.opsForValue().set("userinfo", "zhangsan",1000 , TimeUnit.MILLISECONDS));                                       return "ok";//TimeUnit.DAYS         日的工具类  //TimeUnit.HOURS        时的工具类  //TimeUnit.MINUTES      分的工具类  //TimeUnit.SECONDS      秒的工具类  //TimeUnit.MILLISECONDS 毫秒的工具类      }@RequestMapping("/get")public Object get() {return redisTemplate.opsForValue().get("userinfo");}//操作哈希@RequestMapping("/save2")public String save2() {redisTemplate.opsForHash().put("myhash", "username", "lisi");return "ok";}@RequestMapping("/get2")public Object get2() {return redisTemplate.opsForHash().get("myhash", "username"); // lish}}

执行:我们现在去浏览器输入这个url;触发这些执行
在这里插入图片描述
效果:发现Redis确实有点东西
在这里插入图片描述

http://www.lryc.cn/news/255659.html

相关文章:

  • 深入了解数据库锁:类型、应用和最佳实践
  • python3.5安装教程及环境配置,python3.7.2安装与配置
  • ubuntu安装tomcat并配置前端项目
  • GeoPandas初体验:它是什么,我用它展示一下shp矢量数据
  • Python-滑雪大冒险【附源码】
  • Linux---日志管理
  • Java高级技术-单元测试
  • springboot集成邮箱验证功能
  • HarmonyOS应用程序框架——UIAbility实操
  • 数实融合!低代码推动工业数字化转型走“深”向“实”
  • OpenGL学习资料
  • 字符串指令集
  • 行云海CMS SQL注入漏洞复现
  • 窗口函数之 first_value() 和 last_value()
  • 习题练习讲解
  • C++STL的string模拟实现
  • 基于ZLMediaKit的webrtc实时视频传输demo搭建
  • LeetCode双指针:有序数组中的单一元素
  • 熬夜会秃头——Beta冲刺总结随笔
  • C++函数模板案例
  • 同旺科技 USB TO RS-485 定制款适配器--- 拆解(三)
  • Vue学习计划-Vue2--Vue核心(六)过滤器和自定义指令
  • Codeforces Round 913 (Div. 3) (A-G)
  • CSS——sticky定位
  • Redis hash表源码解析
  • dll动态链接库【C#】
  • Linux 系统设置cpu频率
  • git基本概念
  • 多个HTML属性
  • 基于运算放大器的电压采集电路