首页 > 数据库 >Redis知识点总结

Redis知识点总结

时间:2024-07-26 13:27:20浏览次数:13  
标签:总结 知识点 Redis redis install 集合 数据结构 安装

目录

1. 基本概念

2. 内存与持久化

3. 数据结构

4. 高级功能

5. 性能优化

6. 应用场景

7. 安装与配置

1. 在Linux系统上通过源码编译安装

2. 在CentOS上通过包管理器安装

3. 在MacOS上通过Homebrew安装

4. 在Windows环境下通过预编译二进制文件安装

结论


Redis(Remote Dictionary Server)是一款开源的、基于内存的高性能键值对存储系统。它广泛应用于缓存、消息队列、实时计数器和实时消息传递等场景。以下是关于Redis的详细解析:

1. 基本概念

Redis是一种完全开源免费的、遵守BSD协议的数据库。它的设计理念是追求简单、高性能、灵活性和可扩展性。Redis的数据结构丰富,包括字符串、哈希表、列表、集合和有序集合等。

2. 内存与持久化

Redis主要使用内存进行数据存储,因此其读写速度非常快,但这也意味着其容量受限于物理内存。为了保证数据的安全性,Redis提供了两种持久化机制:RDB(Redis DataBase)和AOF(Append-Only File)。RDB通过快照的方式保存数据集,适合于容灾;而AOF则通过记录每次对数据的修改来实现数据恢复,适合于高频率更新的场景。

3. 数据结构

Redis支持多种数据结构,这些数据结构可以用于不同的业务场景:

  • String:用于存储简单的文本数据。
  • List:双向链表结构,支持反向查找和遍历。
  • Set:无序集合,不允许重复元素。
  • ZSet(有序集合):类似Set,但每个元素都有一个分数值,可以根据分数进行排序。
  • Hash:键值对集合,适用于存储对象的属性。
  • HyperLogLog:用于估计集合中元素的数量。
  • Geospatial Indexes:用于地理位置数据的索引。

4. 高级功能

Redis不仅支持基本的数据操作,还提供了一些高级功能:

  • 事务:通过MULTI、EXEC、DISCARD命令实现多命令的原子性执行。
  • Lua脚本:允许用户编写脚本来执行复杂的操作。
  • 发布/订阅:用于消息通信,支持多个订阅者和发布者。
  • 主从复制:提供高可用性和故障转移能力。
  • 哨兵模式:用于监控主从服务器的状态,并在发生故障时自动切换到备用服务器。

5. 性能优化

为了提高性能,Redis采用了单进程单线程的设计,避免了不必要的上下文切换和同步操作。此外,Redis使用多路I/O复用模型来处理大量并发连接。在实际应用中,可以通过调整内存大小、增加CPU核心数等方式来优化性能。

6. 应用场景

Redis被广泛应用于各种互联网业务中:

  • 缓存:作为高速缓存系统,提高数据访问速度。
  • 消息队列:用于异步消息处理。
  • 实时计数器:用于实时统计和监控。
  • 排行榜系统:利用有序集合来实现用户排名。

7. 安装与配置

Redis的安装方法因操作系统和具体需求而异。以下是几种常见的安装方式:

1. 在Linux系统上通过源码编译安装

步骤:

   wget http://download.redis.io/releases/redis-5.0.0.tar.gz 
   tar -zxvf redis-5.0.0.tar.gz 
   cd redis-5.0.0
   make
   cd src
   make install
   /usr/local/bin/redis-server
   redis-cli -h 127.0.0.1 -p 6379
2. 在CentOS上通过包管理器安装

步骤:

   yum install epel-release
   yum install redis
   service redis start
   systemctl enable redis
3. 在MacOS上通过Homebrew安装

步骤:

   /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh )"
   brew install redis
   brew services start redis
4. 在Windows环境下通过预编译二进制文件安装

步骤:

  1. 下载Redis二进制文件
  2. 解压并运行
    • 将下载的压缩包解压到指定目录(例如C:\Program Files\Redis)。
  3. 配置Redis服务
    • 编辑redis.conf 文件,设置合适的端口、日志路径等。
  4. 启动Redis服务
    • 运行redis-server命令启动Redis服务。

结论

Redis是一款功能强大且灵活的键值对存储系统,适用于多种应用场景。其高性能、丰富的数据结构和强大的持久化能力使其成为许多互联网公司的首选数据库解决方案。理解并掌握Redis的核心原理和应用技巧,对于中高级后端工程师来说是非常重要的。

标签:总结,知识点,Redis,redis,install,集合,数据结构,安装
From: https://blog.csdn.net/qq_64903447/article/details/140688219

相关文章

  • ElasticSearch第1讲(4万字详解 Linux下安装、原生调用、API调用超全总结、Painless、IK
    ElasticSearch官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started.html非官方中文文档:https://learnku.com/docs/elasticsearch73/7.3极简概括:基于ApacheLucene构建开源的分布式搜索引擎。解决问题:MySQLlike中文全文搜索不走索引......
  • 【Android】数据存储方案——文件存储、SharedPreferences、SQLite数据库用法总结
    文章目录文件存储存储到文件读取文件SharedPreferences存储存储获取SharedPreferences对象Context类的getSharedPreferences()方法Activity类的getPreferences()方法PreferenceManager类中的getDefaultSharedPreferences()方法示例读取记住密码的功能SQLite......
  • 总结24个Python接单赚钱平台与详细教程,兼职月入5000+
    如果说当下什么编程语言最靠谱或者比较适合搞副业?答案肯定100%是:Python。python是所有语法中最简单易上手的语言,不需要特别的的英语词汇量,逻辑思维也不需要很差就能上手。而且学会了之后就能编写代码爬取各种数据,制作各种图表,提升工作效率。而且还能利用业余时间接点私活......
  • KingbaseES 对象状态规则总结
    KingbaseES的PLSQL对象包括函数、存储过程、触发器、包、包体、对象类型、对象类型体和匿名块,其中匿名块即用即销,不具有状态属性,SQL中存在依赖的常见对象是表,视图,索引,自定义类型,自定义操作符等等。在使用编码过程会存在相互引用和被引用,就会导致对象的增删改无法“顺利”进行,本文......
  • Redis原理与应用
    一为什么使用redis?1.支持高可用,3.0集群2.丰富的数据类型3.完全内存操作,速度快,支持持久化4.存储数据大,单个key和value可以存储到1G二Redis的持久化方式?redis持久化方式有RDB和AOF  ,RDB是方式是每过几秒保存的是redis数据的快照,但是可能会丢数据,AOF 保存的是所有在......
  • 代码随想录算法训练营第44天 | 动态规划9:买卖股票总结
    188.买卖股票的最佳时机IVhttps://leetcode.cn/problems/best-time-to-buy-and-sell-stock-iv/description/代码随想录https://programmercarl.com/0188.买卖股票的最佳时机IV.html#算法公开课309.最佳买卖股票时机含冷冻期https://leetcode.cn/problems/best-time-to-buy-a......
  • Redis缓存面试问题解析:如何有效管理缓存失效策略?
    在技术面试中,Redis缓存是一个常见的话题。面试官往往会考察候选人对缓存机制的理解以及在实际场景中的应用能力。本文将探讨一个在Redis缓存面试中经常被问到的问题,并深入解析其背后的概念和解决方案。面试问题:如何管理Redis缓存的失效策略?问题描述:在高并发的web应用中,缓存是提......
  • Git版本管理及相关操作总结
    Git常用操作Git是开源的版本控制系统,常用于项目代码管理,文件管理等场景。Git的常见操作命令按照操作顺序介绍新建、管理远程仓库克隆、更新本地仓库副本上传本地修改、修改记录是每次上传更新的记录,一个修改记录可能包含多个文件的修改每个修改记录对应唯一的修改记录......
  • 【测试工作跳槽复习之工作总结】常规性能测试步骤经验总结
    业务功能测试通过了解被测业务以及业务需求和访问量①业务实际应用场景②日活③日最大用户数④日高低峰时段⑤用户期望性能等获取被测业务的性能指标(如果没有现成指标,可以按如下方法确定基准)①生产环境拉取性能基准③测试压测环境压测(7*24h),获取性能测试结果,再拉......
  • 量化基本知识点梳理-三种量化方式和量化框架以及trt
    这一文档介绍些基础概念吧,权当做一个阶段整理,后面也会慢慢完善。1.量化分类:根据谷歌量化白皮书中定义,分为PTQ和QAT两种,而PTQ又包括两种。3种量化方式:QAT,PTQDynamic,PTQStatic。1)量化感知训练(QuantAwareTraining,QAT):量化训练让模型感知量化运算对模型精度带来的......