Redis技术

本文涉及的产品
云原生内存数据库 Tair,内存型 2GB
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Redis 版,经济版 1GB 1个月
简介: 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
Python缓存技术(Memcached、Redis)面试题解析
【4月更文挑战第18天】本文探讨了Python面试中关于Memcached和Redis的常见问题,包括两者的基础概念、特性对比、客户端使用、缓存策略及应用场景。同时,文章指出了易错点,如数据不一致和缓存淘汰策略,并提供了实战代码示例,帮助读者掌握这两款内存键值存储系统的使用和优化技巧。通过理解其核心特性和避免常见错误,可以提升在面试中的表现。
49 2
|
2月前
|
存储 缓存 NoSQL
【Redis技术进阶之路】「底层源码解析」揭秘高效存储模型与数据结构底层实现(字典)(一)
【Redis技术进阶之路】「底层源码解析」揭秘高效存储模型与数据结构底层实现(字典)
60 0
|
2月前
|
存储 消息中间件 缓存
Redis缓存技术详解
【5月更文挑战第6天】Redis是一款高性能内存数据结构存储系统,常用于缓存、消息队列、分布式锁等场景。其特点包括速度快(全内存存储)、丰富数据类型、持久化、发布/订阅、主从复制和分布式锁。优化策略包括选择合适数据类型、设置过期时间、使用Pipeline、开启持久化、监控调优及使用集群。通过这些手段,Redis能为系统提供高效稳定的服务。
|
2月前
|
存储 NoSQL 算法
【Redis技术进阶之路】「底层源码解析」揭秘高效存储模型与数据结构底层实现(字典)(二)
【Redis技术进阶之路】「底层源码解析」揭秘高效存储模型与数据结构底层实现(字典)
77 0
|
2月前
|
NoSQL 数据处理 调度
【Redis深度专题】「踩坑技术提升」探索Redis 6.0为何必须启用多线程以提升性能与效率
【Redis深度专题】「踩坑技术提升」探索Redis 6.0为何必须启用多线程以提升性能与效率
313 0
|
3天前
|
NoSQL 算法 Java
技术好文:Redis实现分布式锁的7种方案
技术好文:Redis实现分布式锁的7种方案
|
7天前
|
存储 缓存 NoSQL
SpringBoot配置第三方专业缓存技术Redis
SpringBoot配置第三方专业缓存技术Redis
15 4
|
22天前
|
存储 消息中间件 缓存
Redis:内存数据存储与缓存系统的技术探索
**Redis 概述与最佳实践** Redis,全称Remote Dictionary Server,是流行的内存数据结构存储系统,常用于数据库、缓存和消息中介。它支持字符串、哈希、列表等数据结构,并具备持久化、主从复制、集群部署及发布/订阅功能。Redis适用于缓存系统、计数器、消息队列、分布式锁和实时系统等场景。最佳实践包括选择合适的数据结构、优化缓存策略、监控调优、主从复制与集群部署以及确保安全配置。
23 3
|
24天前
|
NoSQL Redis
加速 Redis 操作:掌握管道技术提升性能与效率
加速 Redis 操作:掌握管道技术提升性能与效率
|
25天前
|
网络协议 NoSQL Redis
SMC-R 透明加速 TCP 技术,在 Redis 场景下的应用实践 | 干货推荐
SMC-R 作为一套与 TCP/IP 协议平行、向上兼容 socket 接口、底层使用 RDMA 完成共享内存通信的内核协议栈,其设计意图是为 TCP 应用提供透明的 RDMA 服务,同时保留了 TCP/IP 生态系统中的关键功能。