Redis数据库(一):Redis数据库介绍与安装

发布于:2024-06-24 ⋅ 阅读:(13) ⋅ 点赞:(0)

        Redis是一种高性能的开源内存数据库,支持多种数据结构(如字符串、列表、集合等),具有快速的读写速度。它提供持久化、主从复制、高可用性和分布式部署等功能适用于缓存、实时分析、消息队列等应用场景。Redis使用简单,广泛应用于需要快速数据存取和处理的领域。从今天开始,我们学习Redis数据库。

一、Redis数据库安装

        Redis数据库的安装主要有两种方式,一种是下载源码安装,一种是在终端执行命令。

1.1 下载源码安装

1.2 终端执行命令安装

1.2.1 服务器的停止与运行命令

service redis-server start/stop/restart 启动 redis 服务器端/关闭/重启, 要在管理员的root权限下执行。

1.2.2 Redis的配置文件

redis的配置文件可以进行修改(必须要进入管理员身份),比如端口,绑定的IP地址。

 

1.3 运行客户端

redis-cli 运行客户端连接服务器,然后给它发送一个ping,它会回复我们PONG,表明连接成功。

二、前言(了解)

就数据的存储而言,服务器的数据存储设计大概经历了一下几个过程:

2.1 单机MySQL时代

这种模式下的瓶颈:

  1. 数据量太大,一个机器存放不下
  2. 数据的索引太大,一个机器的内存放不下
  3. 访问量(读写混合)太大,一个服务器承受不住

2.2 缓存 Memcached+读写分离

        网站上80%的情况都是在读,每次都去查询数据库,效率很低。这时候可以加入缓存机制,第一次查询去MySQL中读取数据,将数据返回给用户的同时,在缓存中也存储下来。第二次访问,就可以直接从缓存中读取,这样速度就非常快了。

2.3 分库分表 + 水平拆分(MySQL集群)

       但是随着社会的发展,要存储数据的类型(音乐,视频,地理位置,人际交往圈、用户自己产生的数 据,用户日志等)也越来越繁多,数据量也爆发式增长。这样MySQL等关系型数据库就越来越不够用 了!NoSQL数据库就开始进入人们的视野!NoSQL数据库可以很好的解决这些问题。 

2.4 什么是NoSQL

NoSQL(Not Only SQL) 泛指非关系型数据库。

2.4.1 NoSQL的特点

  1. 方便扩展(数据之间没有关系)
  2. 大数据量高性能(Redis写8w/s, 读11w/s,NoSQL的缓存记录级是一种细粒度的,性能会更高)
  3. 数据类型是多样型的! 不需要事先设计数据库,随取随用
  4. 存储方式多样, 键值对,列存储,文档存储,图形数据库
  5. 没有固定的查询语言

2.4.2 NoSql的四大分类

三、Redis数据库介绍

3.1 Redis的基本概念

       Redis是一种非关系型数据库,它也是一个C/S结构(服务器-客户端),它的端口号是6379, 虽然它的数据主要是放在在内存中,但是它也可以实现可持久化,由于数据是放在内存中,因此,它的数据访问速度比较快,它可以与MySQL搭配使用,  Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,可以用作数据库、缓存和消息中间件

        它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集 合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和地理空间 (geospatial) 索引半径查询。 Redis 内置了复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的磁盘持久化 (persistence)-- RDB和AOF , 并通过Redis哨兵(Sentinel)和自动分区(Cluster)提供高可用性(high availability)。

3.2 Redis的基本操作

3.2.1 切换数据库     

        Redis默认有16个数据库,默认使用的是第0个数据库,可以通过select切换数据库。Redis的命令对大小写不敏感,切换数据库,格式: select index

3.2.2 查看数据的大小

        这里其实查看的数据的条数,格式: dbsize

3.2.3 查看所有的键

       查看所有的key,格式: keys *

3.2.4 清空数据库

  1. 清空当前数据库:flushdb
  2. 清空所有的数据库(16个数据库):flushall

3.3 Redis是单线程的

至此,Redis数据库第一节就介绍完毕,都是一些简单的操作,熟练即可,没有什么难度,更多精彩内容见后期博客!感谢阅读,如果喜欢,点赞加关注!