Redis简介(必知必会)

下文笔者将向所有爱学习的小伙伴讲述Redis的简介,如下所示

Redis简介

 Redis(Remote Dictionary Server)远程字典服务
 Redis免费开源,遵守BSD协议,截止(202306)最新版本是7.0
 Redis由意大利人Salvatore Sanfilippo使用 C 语言编写
 Redis是一个名副其实的内存性数据库,我们常称之为 NoSQL数据库
 Redis使用非常广泛,目前国内所有的大厂都在使用Redis 
    如:京东,美团,字节,新浪,腾讯、阿里、Twitter、Github 等
	   所有的大厂都在使用redis

Redis的架构

Redis分为服务端和客户端

客户端和服务端可在同一台计算机上
   也可位于不同的计算机上 

Redis优点

性能超强:
   Redis基于内存实现数据存储
     它的读取速度是110000次/s
         写速度是 81000次/s;

用途广泛:
    Redis应用场景广泛
      如:缓存(布隆过滤器、分布式锁)
	     消息队列
		 搭建Redis集群
		 等

命令提示功能:
    Redis客户端拥有强大的命令提示功能
	  使用起来非常的方便
	  降低学习门槛

可移植性:
    Redis使用ANSI(标准)C语言编写
      能在大多数操作系统上运行
       如:
	     Linux,Mac,Solaris等

常见的其他内存数据库

除Redis之外
   还有Oracle Berkeley DB
     SQlite(轻量级内存数据库)
     Memcache(键值型分布式缓存数据库)
	 Altibase(基于内存的高性能数据库)

Redis同其他内存数据库的不同特性

Redis不仅可以将数据完全保存在内存中
    还可以通过磁盘实现数据的持久存储;
Redis支持丰富的数据类型 
    如:string、list、set、zset、hash 等多种数据类型;
Redis支持主从同步
     即 master-slave 主从复制模式
       数据可以从主服务器向任意数量的从服务器上同步,有效地保证数据的安全性;
Redis支持多种编程语言:
      如:C、C++、Python、Java、PHP、Ruby、Lua 等语言。

Redis与其他数据库对比

名称 类型 数据存储选项 备注
Redis 基于内存存储的键值非关系型数据库 字符串、列表、散列、有序集合、无序集合 发布与订阅、主从复制、持久化存储等
Memcached 基于内存存储的键值 缓存型数据库 键值之间的映射 为提升性能构建了多线程服务器
MySQL 基于磁盘的关系型数据库 每个数据库可以包含多个表,每个表可以包含多条记录; 支持第三方扩展。 支持 ACID 性质、主从复制和主主复制
MongoDB 基于磁盘存储的非关系文档型数据库 每个数据库可以包含多个集合,每个集合可以插入多个文档 支持聚合操作、主从复制、分片和空间索引

Redis同SQL数据库的不同之处

1.Redis无需新建数据库,系统自带16个数据库(0~15)  
   默认使用0库
   同一个库中,key是唯一值,无重复
2.Redis的底层全部是key value的模式存储数据
3.Redis没有表的概念,我们只能借助不同的数据类型和key规划存储位置

Redis应用场景

主要用作缓存,为系统提速,使其更高效
    例:将热点数据放入到redis中,可减少数据库的压力
	   将大查询的数据库缓存,可使系统提速
	   将首页缓存,可使系统提速,提高响应时间

Redis注意事项

  Redis所使用的存储空间在内存中,所以操作速度非常快
      但内存比较稀缺,所以我们必须合理的使用内存
	  尽量缺少存储的信息,避免出现超大key value(笔者建议不要超过512MB)