Redis的介绍

一、什么是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

set是无序

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值