认识redis|青训营

61 阅读2分钟

本文图片资料来源为Redis-大厂程序员是怎么用的.pptx - 飞书云文档 (feishu.cn)

引言

Redis全称为Remote Dictionary Server,即远程字典服务,是一个开源的、使用c语言编写的Key-Value数据库,支持网络交互,可基于内存也可持久化,提供了多种语言的API。
随着数据量的增长,读写数据压力也不断增大,在访问数据的过程中,我们将数据分成冷数据与热数据,热数据即指那些经常被访问到的数据。我们将热数据放于内存,可以大大提高读写速度。
与MySQL不同,Redis的数据存在内存中,读写速度非常快,每秒能处理超过10万次读写,对热数据读写提供了方案,并且经常用于做分布式锁。

一、基本数据类型

Resdis的基本类型如下

  • String字符串
  • Hash哈希
  • List列表
  • Set集合
  • zset有序集合

另外还有三种特殊的数据结构

  • Geospatial
  • Hyperloglog
  • Bitmap

1.1 String数据结构

String是redis最基础的数据结构类型,采用SDS封装

  • 可以存储字符串、数字、二进制数据,值最大存储为512M
  • 通常和expire配合使用
  • 用于存储计数、共享session、分布式锁、计数器、限流

image.png

buf是实际存储的内容,len为buf中使用的空间,即长度,alloc为空闲空间的长度,flags的第三位记录类型,高五位为保留位

1.2 Hash哈希

在Redis中,hash是指值本身也是一个键值对结构,应用场景例如缓存用户信息等,当一个用户有多项计数需求,也可通过hash结构存储。

1.3 List列表

列表用来存储多个有序的字符串,一个列表最多存储2^32-1个元素,通常应用于消息队列、文章列表。内部编码由ziplist和linkedlist。Qiucklist结构如下,由一个双向列表和listpack实现。

image.png

1.4 Set集合

集合用来保存多个字符串元素,但不允许重复元素。有整数集合和哈希表。 主要应用场景为用户标签、生成随机数等。

1.5 zset集合

有序集合zset为已经排序的字符串集合,元素不能重复。zset结合dict可以实现跳表的功能。主要应用于排行榜、用户点赞等。

二、redis的安装与启动

redis支持linux环境的安装和使用,但如果需要在windows下使用redis怎么办呢?看看下面。 下载redis并解压压缩包,进入redis所在文件夹后输入以下命令,启动redis服务。

redis-server.exe redis.windows.conf

启动redis服务的doc窗口,此时不能关闭,服务要一直执行,之后关闭窗口即能结束服务。 测试使用时,进入redis所在文件夹后输入redis-cli,此时客户端打开,可以对redis进行操作了。