Redis的介绍

Redis是一款高性能的Key-Value数据库,常用于缓存和分布式锁。它支持五大数据类型:string、hash、list、set和zset。string适用于缓存、分布式ID等场景。Redis提供事务功能,保证命令的原子性。此外,本文还介绍了Redis在SpringBoot中的编程式和声明式整合。
摘要由CSDN通过智能技术生成

一、什么是redis

        redis英文全称是Remote Dictionary Server(远程字典服务)是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库,提供了多种语言的API。与MySQL数据库不同的是,Redis的数据是存在内存中的,性能极高,它的读写速度非常快,每秒可以处理超过10万次读写操作。因此redis被广泛应用于缓存,另外,Redis也经常用来做分布式锁。除此之外,Redis是有原子性的,支持事务、持久化、单线程、LRU 驱动事件、多种集群方案。

二、redis的五大数据类型

        redis基本数据类型有:

1.string(字符串)

2.hash( 哈希)

3.list(列表)

4.set (集合)

5.zset (有序集合)

 string

        字符串是基本的key-value结构,key和value最大512m,key不建议超过1k,值可以是各种格式的字符、JSON、二进制、编码后的图片。

应用场景:
  1. 缓存

  2. 分布式ID

  3. 分布式锁

  4. 全局Session

  5. 全局计数器

底层数据结构:
        string的底层实现可以是int、raw、embstr。

int 编码是用来保存整数值,raw编码是用来保存长字符串,而embstr是用来保存短字符串。

hash

        Hash是一个键值(key-value)的集合。Redis 的 Hash 是一个 String 的 Key 和 Value 的映射表,Hash 特别适合存储对象。

应用场景:

保存对象的多个属性

和string的对比,优势是:可以灵活读写对象的部分属性

常用命令:hget,hset,hgetall 等。

底层数据结构:
        hash的底层是 ziplist(压缩列表) 或者 hashtable(哈希表)
当同时满足下面两个条件时,使用ziplist(压缩列表):

  • 哈希对象保存的所有键值对的键和值的字符串长度都小于64字节
  • 哈希对象保存的键值对的数量小于512个

不能满足这两个条件的时候使用 hashtable 哈希表

list

list采用链表结构保存多个数据,是有序的、可重复的。

应用场景:
  1. 模拟数组、栈、队列等数据结构

  2. 线型结构,如:粉丝、点赞列表

  3. 消息队列

set

s

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值