Redis笔记

本文详细介绍了Redis的关系型数据库与非关系型数据库的优缺点,并重点阐述了Redis的五种数据类型,包括字符串、哈希、列表、集合和有序集合。此外,还讲解了SpringBoot如何整合Redis,以及RedisTemplate的核心操作。RedisTemplate提供了对字符串、哈希、列表、集合和有序集合的操作接口,便于在实际应用中使用。
摘要由CSDN通过智能技术生成

Redis

1.关系型数据库

优点:

  1. 数据之间有关系,对数据库进行增删改查时非常方便
  2. 关系型数据库有事务操作,保证数据库的完整性

缺点:

  1. 数据之间的关系是由底层大量算法保证,大量算法会拉低系统运行速度及消耗系统资源
  2. 网站的用户并发性非常高,往往达到每秒上万次读写请求,对于传统关系型数据库来说,硬盘I/O是一个很大的瓶颈
  3. 海量数据的表中查询效率是非常低的
2.非关系型数据库

优点:

  1. 性能非常高,基于键值对,不需要经过SQL层的解析
  2. 海量数据查询速度快,数据存储在缓存之中

缺点:

  1. 数据和数据之间没有关系,不能一目了然
  2. 没有强大的事务保证数据的完整和安全
3.Redis的五种数据类型
  1. 字符串类型
  2. 散列类型
  3. 列表类型
  4. 集合类型
  5. 有序集合类型
4.字符串类型

String是Redis最基本的类型,一个Key对应一个Value,Value不仅可以是String,也可以是数字。String是二进制安全的,意思是Redis的String可以包含任何数据,比如jpg图片或者序列化的对象。String的值最大能存储512MB。

应用场景:缓存功能、计数器、共享session、限速

5.hash(哈希)类型

hash类型很像一个关系型数据库的数据表,hash的Key是一个唯一值,Value部分是一个HashMap的结构

6.List类型

List是按照插入顺序排序的字符串链表,可以在头部和尾部插入新的元素(双向链表实现,两端添加元素的时间复杂度为O(1))。插入元素时,如果Key不存在,Redis会为该Key创建一个新的链表,如果链表中的所有元素都被移除,该Key也会从Redis中移除。

常见操作是用lpush命令在List头部插入元素,用rpop命令在List尾部取出数据

7.set类型

set数据类型是一个集合(没有排序,不重复),可以对set类型的数据进行添加、删除、判断是否存在等操作

set集合不允许数据重复,如果添加的数据在set中已存在,将只保留一份

set类型提供了多个set之间的聚合运算,如求交集、并集、补集,这些操作在Redis内部完成,效率很高

8.sorted set类型

set集合的基础上给集合中的每个元素关联了一个分数,往集合中插入元素时会自动根据这个分数排序

9.SpringBoot整合Redis

先导入pom依赖,然后在application.yml中添加相关配置,创建RedisTemplate配置文件

10.核心类RedisTemplate

Spring封装了RedisTemplate类来进行Redis的各种操作,他支持所有的Redis原生API

redisTemplate.opsForValue();//操作字符串
redisTemplate.opsForHash();//操作hash
redisTemplate.opsForList();//操作list
redisTemplate.opsForSet();//操作set
redisTemplate.opsForZSet();//操作有序set
11.StringRedisTemplate
  • RedisTemplate的子类
  • 数据不共通,StringRedisTemplate只能管理StringRedisTemplate里面的数据,redisTemplate只能管理redisTemplate里面的数据
  • SDR默认采用的序列化有两种,一种是String的序列化策略,一种是JDK的序列化策略
  • StringRedisTemplate默认采用的是String的序列化策略,保存的key和value都是采用该策略序列化并保存的
  • RedisTemplate默认采用的是JDK的序列化策略,保存的key和value都是采用此策略序列化并保存的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RogueZby

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值