Redis技术

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: Redis技术


前言

** Reids是一种key-value形式的高性能的nosql数据库,提供了各种数据结构存储,具有高性能的读写功能,应用很广泛。**

NoSQL入门和概述

在分布式数据库中的CAP原理CAP+BASE

  • 前言

我们学的越多就越发现没有那么多先技术,所谓的新技术都是在就技术上进行的升级和补充,都是一种功能的传递,新技术的产生一定是具备了旧技术可以完成的功能,可以对他实现完美的替换,所以,这是一种递棒行为,是一种继承的关系,父类能做的都能做,子类能做的更多功能也更加的强大, 性能也更加的好。

-什么是CAP和BASE

**1、CAP

**

  • 传统R数据库(关系型数据库)和NoSQL

**是传统的ACID,指的就是事务的四大特性,如果在在非关系性数据库当中如何满足这些东西呢?对应的就是我们的Nosql当中的CAP特性,强一致性,可用性,分区容错性。

1、强一致性:与实际事实数据的高度一致性

2、可用性:在三高情况下,表现出来三高特性。

3、分区容错性:分区容错性

Nosql理论,传统的数据库ACID是都满足的,Cap只能痛苦的三选二,CAP不能三个都满足**

  • 什么是CAP的三进二


**

分布式系统的时代,分区容错性是我们必须要实现的东西,分布式系统是不是部署在同城的,N多个服务器可能在多个城市,多个机房,

C:强一致性,A:高可用性,P:分布式容忍性

CA:传统性关系型数据库RDBMS

AP:大多数网站架构的选择

CP:Redis,Mongodb

Nosql采用的事CP,Nosql我们使用的初衷是为了个数据库减负,我们最终需要有一个一致性,

分布式架构的时候必须要作出取舍

**

  • BASE

所有的分布式系统都是在高峰时段,牺牲C来换取AP但是当流量下来之后,我们还是需要保证数据的一致性,这个对Cap这个理论在电商界比较友好的处理方式。

**

分布式+集群简介
分布式:
集群:
负载均衡:流量上来的时候,我们各台服务器要雨露均沾,不能按着一只羊使劲肯,

Redis

Redis是什么

开源免费、C编写、遵守BSD协议、高性能、键值对形式的、分布式、基于内存、Nosql数据库

Redis特点

**它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。

最常用的是String类型,因为String类型可以模拟所有的数据类型

支持异步把数据写到硬盘上。

**

Redis支持数据库的备份,主从模式的数据备份 ,

应用场景

1、内存存储和持久化:Redis支持异步将数据从内存中写到硬盘中,同时不影响继续服务。
2、取最新N个数据的操作,如:可以将最新的10条评论的Id放到Reids的List集合当中。
3、可以存储Session对象,进行Session信息的共享。需要设定定时过期的功能
4、充当消息中间件
5、定时器、计数器

Redis怎么玩?

Redis安装

**Redis提供了连个版本,一个是win,一个Linux,我们需要在Liux下边进行安装,我们一定要在Linux上边安装Redis,企业里边就认一个,Linux下边。

第三方软件我们都放在opt下边。

**

Gcc命令没找到,说明本机Linux系统中缺少Gcc的命令。Gcc

Rdis相关知识介绍

1、Redis默认端口号6379怎么来的?

merz在非智能手机的按键,这就是一个说明

2、Redis当中默认提供了16个数据,编号是从0-15,我们默认使用的都是0号库,我们可以通过select num来进行切库,Redis当中的数据库是统一进行管理的,所有的库密码是相同的,而我们使用的都是零号库

3、什么叫做串行操作?

串行操作就是一个一个的来进行,我进行第一个操作的时候第二个要等,在memcache这门技术中使用的是多线程+锁的这种机制,然而Redis当中使用的单线程+多路IO复用的这种方式,这样的方式更高效,使CPU告诉运转。

4、什么叫单线程+多路IO复用?

在火车站当中多个人找一个黄牛去火车站中进行买票,黄牛在火车站当中买票肯定是单线程操作,那么多路IO复用是怎么体现出来的呢?多路IO复用是在这些购票着通知到了黄牛去买票之后,其他人去做其他的事情,然后黄牛买到了什么票就通知对应的那一路去买票,这样的话就保证CPU一直在工作,这是Redis底层工作的原理。

Redis概述和安装

周期性写入到磁盘中指的就是持久化操作,实现主从同步的操作

Redis可以配合关系型数据库做高速的缓存和Session的的共享,

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
2月前
|
移动开发 NoSQL 网络协议
Redis 管道技术
10月更文挑战第21天
23 3
|
2月前
|
缓存 监控 负载均衡
如何解决Redis热点Key问题?技术干货分享
【10月更文挑战第2天】在Redis的使用过程中,热点Key问题是一个常见的性能瓶颈。热点Key指的是那些被频繁访问的Key,它们可能导致Redis服务器的负载不均衡,进而影响整体性能。本文将深入探讨热点Key问题的成因、影响以及多种解决方案,帮助读者在实际工作中有效应对这一挑战。
98 3
|
2月前
|
JSON 缓存 NoSQL
Redis 在线查看序列化对象技术详解
Redis 在线查看序列化对象技术详解
42 2
|
7月前
|
存储 消息中间件 缓存
Redis缓存技术详解
【5月更文挑战第6天】Redis是一款高性能内存数据结构存储系统,常用于缓存、消息队列、分布式锁等场景。其特点包括速度快(全内存存储)、丰富数据类型、持久化、发布/订阅、主从复制和分布式锁。优化策略包括选择合适数据类型、设置过期时间、使用Pipeline、开启持久化、监控调优及使用集群。通过这些手段,Redis能为系统提供高效稳定的服务。
|
3月前
|
存储 缓存 NoSQL
解决Redis缓存击穿问题的技术方法
解决Redis缓存击穿问题的技术方法
78 2
|
3月前
|
存储 NoSQL Redis
Redis 管道技术
【9月更文挑战第16天】Redis 管道技术通过批量发送命令并一次性读取响应,显著提升了与 Redis 服务器交互的性能。其工作原理包括命令缓冲、批量发送、响应接收与处理。管道技术减少了网络往返次数,提高了资源利用效率,并使代码更简洁。适用于批量操作、高并发环境及复杂业务逻辑等场景,是优化 Redis 应用性能的强大工具。
|
3月前
|
缓存 NoSQL PHP
使用PHP-redis实现键空间通知监听key失效事件的技术与代码示例
通过上述方法,你可以有效地在PHP中使用Redis来监听键空间通知,特别是针对键失效事件。这可以帮助你更好地管理缓存策略,及时响应键的变化。
98 3
|
3月前
|
存储 NoSQL Redis
10)Redis 的管道技术
10)Redis 的管道技术
51 0
|
3月前
|
消息中间件 NoSQL Go
PHP转Go系列 | ThinkPHP与Gin框架之Redis延时消息队列技术实践
【9月更文挑战第7天】在从 PHP 的 ThinkPHP 框架迁移到 Go 的 Gin 框架时,涉及 Redis 延时消息队列的技术实践主要包括:理解延时消息队列概念,其能在特定时间处理消息,适用于定时任务等场景;在 ThinkPHP 中使用 Redis 实现延时队列;在 Gin 中结合 Go 的 Redis 客户端库实现类似功能;Go 具有更高性能和简洁性,适合处理大量消息。迁移过程中需考虑业务需求及系统稳定性。
|
5月前
|
数据采集 存储 NoSQL
Redis 与 Scrapy:无缝集成的分布式爬虫技术
Redis 与 Scrapy:无缝集成的分布式爬虫技术