粗糙版学习笔记一 - Redis基础篇

mac2025-05-27  27

Reids简介

Redis官网翻译介绍如下

Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。

Redis的诞生

Redis之父antirez,了不起。

为什么叫Redis?

Remote Dictionary Service KV - 远程字典服务

NoSQL与SQL的区别

传统关系型数据库与非关系型数据库的区别

Non-relational

not only sql

关系型数据库特点

存储数据结构基于表格(table),基于行的结构存储的,是二维的结构化数据,固定的模式(schema),表结构一旦创建,存储的数据都得适应其结构表与表之间存在关联关系的支持SQL,结构化查询语言支持事务,ACID - 酸,通过事务,可以严格控制数据的一致性

使用关系型数据库的一些限制

只能向上扩容,并且得通过一些特定的技术手段实现,譬如分库分表表结构修改麻烦高并发的场景下,磁盘的读写压力增大

非关系型数据库特点

存储的数据为非结构化的表与表之间没有关联,扩展性强没有事务的特性,BASE - 碱数据没有存储在磁盘,支持海量数据存储和高并发的操作支持分布式,实现水平扩容,分片的存储

有哪些非关系型数据库,点这里查看

TiDB结合了关系和非关系??

TiDB 是 PingCAP 公司设计的开源分布式 HTAP (Hybrid Transactional and Analytical Processing) 数据库,结合了传统的 RDBMS 和 NoSQL 的最佳特性。 - 《https://pingcap.com/docs-cn/v3.0/》

Redis的特性

为什么要用Redis?

高吞吐量,官方给我出的数据是每秒十万次丰富的数据类型相比hashmap,支持分布式,应用共享提供了丰富的特性,比如:持久化机制、过期策略…支持多种编程语言操作的客户端高可用和扩容的集群策略,譬如:哨兵、cluster…

Redis的安装和配置(单机版)

由于最近笔记本要重装系统,把vmware卸载了,所以用Window版 Redis示例(Liunx中安装Reids点这里)

1. 下载Redis

之前https://redis.io/download官网我记得有windows版的链接地址,现在竟然找不到了。

github下载地址:https://github.com/microsoftarchive/redis/releases

2. 安装

linux环境下,安装redis还需安装gcc依赖和编译的过程。windows环境就不讲究了,我偷懒直接用了Redis-x64-3.2.100.msi安装版,其实与zip版没有啥本质区别。

3. 配置文件

略,windows环境为了方便学习,也无需设置后台启动,ip绑定了,如果喜欢可以去安装目录或者解压目录中redis.windows.conf文件设置个访问密码。

requirepass yourpassword

4. 服务启动 到安装目录或者解压目录中执行redis-server.exe即可启动redis server,默认指定的配置文件就是redis.windows.conf,如图:

服务启动成功后,通过redis-cli.exe即可进入客户端,进行命令操作。

通过RedisDesktopManager工具可以直观的看到,redis默认有16个库(0-15),可以在配置文件中修改,默认使用的第一个db0:

databases 16

因为没有完全隔离,不像数据库的 database,不适合把不同的库分配给不同的业务 使用。

Redis 是字典结构的存储方式,采用 key-value 存储。key 和 value 的最大长度限制 是 512M(来自官网 https://redis.io/topics/data-types-intro/)。

键的基本操作,命令参考:http://redisdoc.com/index.html

Redis的数据类型

官网给出了8种介绍,点这里

每种数据类型的基本操作和原理不做过多记录了,理解为主,还有一些源码设计上的骚操作,了解下就够了。

常用的五种数据结构:

string、hashs、lists、sets、sorted sets

Redis的应用场景

缓存 - 提升热数据的访问速度共享数据 - 如session共享全局ID - 分布式全局ID的生成,INT 类型,INCRBY,利用原子性分布式锁 - STRING 类型 setnx 方法在线用户数统计和计数器 - 通过INCRBY队列、栈 - List的特性消息队列服务注册与发现 - dubbo支持redis作为注册中心购物车 - hash结构的数据存储用户消息时间线 - 这是哪个??抽奖 - Set特性点赞、签到、打卡商品打标签多条件列表筛选 - 电商查询、租房查询等排行榜 - sorted sets
最新回复(0)