《Redis系列》Redis详细教程入门

Redis 是一个高性能的内存数据结构存储系统,支持多种数据类型,如字符串、哈希、列表、集合、有序集合等。在互联网架构演变中,Redis 被广泛用于缓存、数据库和消息中间件。Redis 提供两种持久化方式:RDB(快照)和 AOF(追加日志)。此外,Redis 支持主从复制实现读写分离,哨兵系统则提供了高可用性,能自动检测并故障转移。Redis 的API包括对各种数据类型的增删改查操作,以及事务和发布/订阅功能。

Redis

1 互联网架构演变

1.1 单一数据库

​ 在90年代,由于互联网没有普及。一个网站访问量并不大,单一数据库完全能够满足访问的需求。因为在哪个年下几乎都是静态的页面,动态交互型的功能不多。

在这里插入图片描述

1.2 Memcached + 数据库 + 垂直拆分

​ 当数据量达到一定级别,一个机器总有存放不下的时候、数据索引的时候单台机器的内存可能也不够。架构就发生了改变。

​ 最快速的提升查询性能的方式就是使用缓存技术、第二也需要去优化数据库:表结构建立索引、优化表的机构(垂直拆分:将一个表拆分为多个表)。

在这里插入图片描述

1.3 主从复制 + 读写分离

​ 再向后面发展,进入到互联网时代的初期,互联网的产品对于读的压力特别大,我们传统的架构都是读写放在一起的,我们就将写集中在主上,释放素有的从机的来处理读压力。所以大部分的网站还是使用主从复制,读写分离。

在这里插入图片描述

1.4 分表分库 + 水平拆分 + mysql的集群模式

​ 随着互联网时代从初期过渡完毕,我们数据量开始产生激增。上面的架构已经无法胜任海量数据的存储和查询。架构进一步采取了演变。水平拆分:(将表的行拆分),因为一张表的数据达到超过200w行的时候,性能势必直线下降。

在这里插入图片描述

1.5 慢慢发展到了移动互联——大数据年代了

在这里插入图片描述

2 Nosql

2.1 为什么Nosql

​ 因为随着互联网行业的发展,数据量激增,传统的RDBMS由于自身性能的瓶颈,不适合作为大数据领域的存储工具。比如,一般的用户行为操作等等的这些日志,又多又没有规则,如mysql这样的数据库更适合存放结构化数据,所以传统数据不适合大数据领域。

​ Nosql:Not only sql。他非常符合海量数据下的快速查询的要求。

2.2 Nosql种类

种类非常多,但是有一个共同的特点就是一定是去除了RDBMS中的关系表达。不适用SQL。

  • Memcached
  • Redis
  • HBase
  • MongoDB
  • ClickHouse

  • 大数据时代3V+3高
- Volume : 海量
- Variety : 多样
- velocity :实时

----------------------

- 高并发
- 高可扩
- 高性能

3 阿里架构演变

1999 第一代架构: Perl,CGI,Oracle

2000 第二代架构:Java, Servlet

2001-2004第三代架构:EJB时代,Dao、Service

2005-2007第四代架构:去EJB重构:Spring+iBatis+Webx。底层架构:iSearch,MQ+ESB,数据挖掘

2008-2009第五代架构:Memcached集群 + mysql + 数据切分, 分布式存储,Hadoop,KV, CDN

2010安全,镜像:安全、镜像、应用服务器升级、秒杀、Nosql、SSD

敏捷开发、开放式开发、用户体验

4 Redis

4.1 介绍

​ Remote Dictionary Server。开源,基于C语言开发,基于BSD协议(只要基于这个协议的都可以修改源码)的KV的Nosql的分布式数据库。

​ 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)。

4.2 redis的特点

  • redis支持数据的持久化:AOF和RDB
  • redis本身不仅仅只是KV的数据,还支持多种数据结构:List、Set、Hash…
  • redis支持数据的备份。主从

4.3 做什么

  • 内存存储和持久化
  • 取最新的数据
  • 单点登陆——模拟HttpSession
  • 计数器/定时器
  • 保持offset

4.4 网址

http://www.redis.cn/
https://www.redis.net.cn/

4.5 安装

##1. 安装
[root@hadoop ~]# yum -y install gcc-c++
[root@hadoop software]# tar -zxvf redis-3.2.8.tar.gz -C /opt/apps/
[root@hadoop redis-3.2.8]# make
[root@hadoop redis-3.2.8]# make PREFIX=/opt/apps/redis-3.2.8/bin install
##2. 配置环境变量

4.6 启动

4.6.1 默认的连接

##1. 启动前台服务
[root@hadoop bin]# ./redis-server

##2. 启动客户端
[root@hadoop ~]# redis-cli

4.6.2 后台启动,使用配置连接

##1. 配置后端启动
[root@hadoop redis-3.2.8]# cp redis.conf redis.conf.bak
[root@hadoop redis-3.2.8]# vi redis.conf

bind 0.0.0.0
port 6379
daemonize yes

##2. 启动redis的服务
[root@hadoop redis-3.2.8]# redis-server redis.conf
[root@hadoop redis-3.2.8]# ps -ef | grep redis
root      4196     1  0 16:52 ?        00:00:00 redis-server 0.0.0.0:6379
root      4325 30685  0 16:53 pts/0    00:00:00 grep --color=auto redis

##3. 客户端连接redis服务
[root@hadoop redis-3.2.8]# ./redis-cli -h 127.0.0.1 -p 6379
# 如果有密码,则需要通过auth 指定密码
[root@hadoop redis-3.2.8]# auth password

4.7 redis.conf

详细的参考:Redis的配置文件解读(redis.conf)

4.7.1 INCLUDES

# Redis configuration file example.
#
# 启动redis服务的
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DATA数据猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值