Redis概述及安装、使用和管理

目录

一、NoSQL非关系型数据库

1.NoSQL概述

2.关系型数据库和非关系型数据库区别

(1)数据存储方式不同

(2)扩展方式不同

(3)对事务性的支持不同

3.非关系型数据库使用场景

二、Redis概述

1.简介

2.优点

3.Redis读写快的原因

4.适用场景

三、Redis安装配置

四、Redis的使用

1.命令行工具redis-cli(登录)

2.测试工具redis-benchmark(测试)

3.redis命令的使用

4.Redis多库常用命令

五、Redis性能管理

1.查看内存使用

2.清理内存碎片

(1)内存碎片如何产生

(2)内存碎片率

(3)清理内存碎片

3.内存使用率

4.内回收key


一、NoSQL非关系型数据库

1.NoSQL概述

        NoSQL (Not Only SQL),是非关系型数据库的总称。除了主流的关系型数据库外的数据库,都认为是非关系型。

        不需要预先建库建表定义数据存储表结构,每条记录可以有不同的数据类型和字段个数(比如微信群聊里的文字、图片、视频、音乐等)。

        主流的 NoSQL数据库有 Redis、MongBD、Hbase、Memcached、ElasticSearch、TSD等。

2.关系型数据库和非关系型数据库区别

(1)数据存储方式不同

关系型和非关系型数据库的主要差异是数据存储的方式。

        SQL数据库天然就是表格式的,因此存储在数据表的行和列中。数据表可以彼此关联协作存储,也很容易提取数据。

        NoSQL型数据不适合存储在数据表的行和列中,而是大块组合在一起。非关系型数据通常存储在数据集中,就像文档、键值对或者图结构。你的数据及其特性是选择数据存储和提取方式的首要影响因素。

(2)扩展方式不同

关系型和非关系型数据库最大的差别是在扩展方式上,要支持日益增长的需求当然要扩展。

        SQL数据库是纵向扩展,也就是说提高处理能力,使用速度更快速的计算机,这样处理相同的数据集就更快了。因为数据存储在关系表中,操作的性能瓶颈可能涉及很多个表,这都需要通过提高计算机性能来克服。虽然sql数据库有很大扩展空间,但最终肯定会达到纵向扩展的上限。

        NoSQL数据库是横向扩展的。因为非关系型数据存储天然就是分布式的,NoSQL数据库的扩展可以通过给资源池添加更多普通的数据库服务器:节点)来分担负载。

(3)对事务性的支持不同

如果数据操作需要高事务性或者复杂数据查询需要控制执行计划,那么传统的SQL数据库从性能和稳定性方面考虑是你的最佳选择。

        SQL数据库支持对事务原子性细粒度控制,并且易于回滚事务。

        虽然NoSQL数据库也可以使用事务操作,但稳定性方面没法和关系型数据库比较。所以它们真正闪亮的价值是在操作的扩展性和大数据量处理方面。

3.非关系型数据库使用场景

可用于应对web2.0纯动态网站类型的三高问题(高并发、高性能、高可用)。

  • High performance——对数据库高并发读写需求;
  • Huge Storage——对海量数据高效存储与访问需求;
  • High Scalability and High Availability——对数据库高可扩展性与高可用性需求。

        关系型数据库和非关系型数据库都有各自的特点与应用场景,两者的紧密结合将会给web2.0的数据库发展带来新的思路:

        关系型数据库关注在关系对数据的一致性保障上;

        非关系型数据库关注在存储高效率上。

        例如:在读写分离的Mysql数据库环境中,可以把经常访问的数据存储在非关系型数据库中,提升访问速度。

二、Redis概述

1.简介

        Redis(远程字典服务器)是一个开源的、使用c语言编写的 NoSQL数据库。

        Redis基于内存运行并支持持久化,采用key-value(键值对)的存储形式,是目前分布式架构中不可或缺的一环。

        Redis服务器程序是单进程模型,也就是在一台服务器上可以同时启动多个Redis进程,Redis的实际处理速度则是完全依靠主进程的执行效率。

2.优点

具有极高的数据读写速度:数据读取的速度最高可达到110000 次/s,数据写入速度最高可达到 81000 次/s。

支持丰富的数据类型:支持 key-value、Strings、Lists、Hashes、Sets 及 Sorted Sets等数据类型操作。

支持数据的持久化:可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。

原子性:Redis 所有操作都是原子性的。

支持数据备份:即支持 master-salve 模式的数据备份。

3.Redis读写快的原因

        Redis基于内存运行,避免了磁盘I/O等耗时操作。

        Redis命令处理的核心模块为单线程,减少了锁竞争,以及频繁创建线程和销毁线程的代价,减少了线程上下文切换的消耗。

注:在Redis 6.0 中新增加的多线程也只是针对处理网络请求过程采用了多线性,而数据的读写命令,仍然是单线程处理的。

        采用了I/O多路复用机制,减少网络I/O消耗,大大提升了并发效率。

4.适用场景

        Redis作为基于内存运行的数据库,是一个高性能的缓存,一般应用在session缓存、队列
、排行榜、

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值