Redis 学习笔记(一)

2021/6/6 2:21:29

本文主要是介绍Redis 学习笔记(一),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

数据库的分类

关系型数据库与非关系型数据库

关系型数据库,关系型数据库有Oracle 、 MySQL、 SqlServer ,DB2.
非关系性(NoSQL)数据库:
解决什么问题:NoSQL数据的产生是为了解决大规模数据集合和多重数据种类带来的挑战,尤其是大数据应用难题。

非关系型数据库的分类

基于key-value 存储数据库: 这类数据库主要会使用一个哈希表,这个表中有一个特定的键和指针指向特定的数据。
列存储数据库: 这部分数据库通常是用来应对分布式存储的海量数据,键仍然存在,但是他们的特点是指向多个列。这些列由列家族来安排。如HBASE、Riak。

非关系型数据的特点

  1. 数据模型比较简单
  2. 需要灵活性更强的应用系统
  3. 对数据库性能要求比较高
  4. 不需要高度的数据一致性
  5. 对于给定key,比较容易映射到复杂值的环境中

认识Redis

什么是Redis

redis是一个简单的、高效的、分布式的,基于 内存缓存的非关系型数据库。架设好服务器后,通过网络连接,提供key-value 服务。简单是Redis的突出特色。简单可以保证核心功能的稳定和优异。

扩展类型

如果请求数量过多,服务器压力过大。可以通过以下两种方式解决:

  1. 垂直扩展: 增加资源,哪些部件压力大就更换性能更好的部件。 比如更换CPU。但是IO是有瓶颈的。受系统限制,提升到一定程度就无法再提升了。
  2. 水平扩展: 增加服务器个数。可以提高 吞吐量。

高可用特性的保证

高可用系统:

  1. 避免单点故障。
  2. 提高吞吐量(qps)
  3. 数据量增加以后的解决方案

redis解决策略

主从模式: 避免单点故障

在这里插入图片描述
哨兵模式: 数据量增加之后的解决方案。

在这里插入图片描述

集群模式: 提高吞吐量
在这里插入图片描述

Redis 的优势

  1. 速度快。官方宣称:写可以达到8w/s的速度,读可以达到11w/s。
  2. 提供丰富的数据类型。String、List、Set、Zset、Hash
  3. 原子性操作。单个操作是原子性的,多个操作也支持事务,即原子性,可以通过MULTI 和EXEC指令包起来同时执行多条命令,但不保证一起成功一起失败。
  4. 丰富的特征。 支持publish /subscribe、通知,key过期等特征。
  5. 持久化机制 。Redis是基于内存缓存的工具,意味着一旦机器断点数据就会丢失,但是他提供了持久化到硬盘的操作。
  6. 高可用分布式

官网
文档

Redis 安装

在Ubuntu下安装Redis

netstat -ntlp  查看当前端口占用情况
redis-server --port 端口  # 指定端口号

常用配置

-- 配置后台启动 
daemonize yes  

-- 配置远程登录 绑定端口
bind 0.0.0.0

配置工作目录
dir /var/lib/redis/data


配置日志文件 日志文件默认会回收到回收站,指定后就在工作目录下且文件名为redis_6379.log
log  var/lib/redis/"6379.log"



关闭客户端:
redis-cli -h 127.0.0.1 -p 6379  shutdown
redis-cli  shutdown


redis-server: /usr/bin/redis-server 

redis: /etc/redis



/
n 就分别是向后找

N 向前找这个词



这篇关于Redis 学习笔记(一)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程