Redis入门到精通【基础篇】【一】

本系列作品持续更新中~
Redis入门到精通【基础篇】【一】
Redis入门到精通【基础篇】【二】
Redis入门到精通【基础篇】【三】
Redis入门到精通【实战篇】【一】


概述

学习Redis之前我们要先明白一个概念,什么是非关系形数据库

非关系数据库(NoSQL)

非关系型的数据库,亦称NoSQL,即“Not Only SQL”的缩写,代表了一种不同于传统的关系型数据库的数据库管理系统。随着互联网web2.0网站的兴起,传统的关系数据库在处理超大规模和高并发的动态网站时面临挑战,非关系型数据存储得到了快速的发展,旨在解决大规模数据集合和多重数据种类带来的挑战,特别是大数据应用难题。

这里只做简单介绍,想了解更多的可以看大佬写的NoSQL详细介绍

什么是Redis

Redis是一个使用C语言写成的,开源的高性能key-value非关系缓存数据库。它支持存储的value 类型相对更多,包括string(字符串)、hash(哈希类型)、list(链表)、set(集合)和sorted set(有序集合)。Redis的数据都基于缓存的,所以很快,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。Redis也可以实现数据写入磁盘中,保证了数据的安全不丢失,而且Redis的操作是原子性的。

Redis优缺点

优点

  • 数据结构丰富,支持存储string、hash、set、zset、list等数据结构的value
  • 读写性能优异,低延迟,速度快,基于内存、IO多路复用、良好的编码
  • 支持事务,每个命令具备原子性,除网络处理模块外都是单线程
  • 支持数据持久化,支持AOF和RDB两种持久化方式
  • 支持主从集群、分片集群,主机会自动将数据同步到从机,可以进行读写分离
  • 支持多语言客户端

缺点

  • 数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合场景主要局限在较小数据量的高性能操作和运算上
  • Redi不具备自动容错和恢复的功能,主机从机的宕机都会导致前端部分读写请求失败,需要等待机器重启或者手动切换前端IP才能恢复
  • 数据不一致问题,主机宕机,宕机前有部分数据未能及时同步到从机,切换IP后还会引入数据不一致的问题,降低了系统的可用性
  • Redis较难支持在线扩容,在集群容量达到上限时在线扩容会变得很复杂,为避免这一问题,运维人员在系统上线时必须确保有足够的空间,这对资源造成了很大的浪费

安装和启动Redis

Windows下载Redis

注意,Redis官方并没有开发Windows系统的Redis,因此,我们需要下载由微软开发的Windows版Redis

下载地址

1.点击下载Redis-x64-3.2.100.zip
在这里插入图片描述

2.下载解压包解压后,进入文件夹,如下图:
在这里插入图片描述

3.先点击redis-server.exe启动Redis服务,显示如下:
在这里插入图片描述

4.再点击redis-cli.exe连接Redis,显示如下:
在这里插入图片描述
注意!!!启动redis-cli.exe后不要关闭redis-server.exe程序,否则会报“Could not connect to Redis at 127.0.0.1:6379:由于目标计算机积极拒绝,无法连接”的错误

5.Windows下Redis安装完成

Linux下载Redis

1.Redis是基于C语言编写的,因此需要安装Redis需要的gcc依赖:

yum install -y gcc tcl

2.进入Redis历史版本集,根据自己需求下载合适版本,笔者这里下载的redis-6.2.4.tar.gz
在这里插入图片描述

3.将解压包上传到虚拟机的制定目录,笔者这里选的目录是/user/local/src

先进入特权模式

sudo -s

使用tar -zxvf 文件名的指令解压

tar -zxvf redis-6.2.4.tar.gz

进入Redis的安装目录

cd redis-6.2.4

运行编译命令

make && make install

在这里插入图片描述

没有报错即为安装成功

以上/home/user/local/src/redis-6.2.4/src即为安装路径

该目录以及默认配置到环境变量,因此可以在任何目录下运行这些命令。其中:

  • redis-cli:是Redis提供的命令行客户端
  • redis-server:是Redis的服务端启动脚本
  • redis-sentinel:是Redis的哨兵启动脚本

4.启动

Redis的启动方式有多种:

  • 默认启动
  • 指定配置启动
  • 开机自启

我们可以在任意目录下输入redis-server命令即可启动Redis,显示如下:

redis-server

在这里插入图片描述
以上启动方式属于前台启动,会阻塞整个会话窗口,窗口关闭或按下ctrl+cRedis停止服务,不推荐使用

5.配置

要让Redis以后台方式启动,则需修改Redis配置文件

首先备份一份配置文件

cp redis.conf redis.conf.bck

进入配置文件,如下所示:

vi redis.conf

在这里插入图片描述

然后修改redis.conf文件中的一些配置

# 允许监听的地址,默认是 127.0.0.1 ,会导致只能在本地访问,修改为 0.0.0.0 则可在任意IP访问,生产环境不要设置为 0.0.0.0
bind 0.0.0.0

# 守护进程,修改为 yes 后即可后台运行
daemonize yes

# 密码,设置后访问 Redis 必须输入密码
requirepass 密码

# 监听端口
port 6379

# 工作目录,默认是当前目录,也就是运行 redis-server 时的命令,日志、持久化等文件会保存在这个目录
dir ./

# 数据库数量,设置为1,代表只使用1个库,默认16个库,编号 0-15
databases 1

# 设置 Redis 能够使用的最大内存
maxmemory 512mb

# 日志文件,默认为空,不记录日志,可以指定日志文件名
logfile "redis.log"

注意,一定要给Redis设置密码,不然可能造成严重安全事故!!!

再次启动Redis

# 进入 Redis 安装目录
cd /home/user/local/src/redis-6.2.4/src

# 启动
redis-server redis.conf

启动后可以通过以下指令查看Redis是否正常运行,如下图所示:

ps -ef | grep redis

在这里插入图片描述

我们还可以根据上述进程号,停止服务

kill -9 进程号

或者

# 利用 redis-cli 来执行 shutdown 命令,即可停止 Redis服务
redis-cil -u 密码 shutdown

实现开机自启

vi /etc/systemd/system/redis.service

内容如下:

[Unit]
Description=redis-server
After=network.target

[Service]
ExecStart=redis-server地址 redis.conf地址
PrivateTmp=true

[Install]
WantedBy=multi-user.target

然后重载系统服务

systemctl daemon-reload

之后我们就可以对Redis进行操作了

# 启动
systemctl start redis

# 停止
systemctl stop redis

# 重启
systemctl restart redis

# 查看状态
systemctl status redis

执行下面的命令,可以让redis开机自启:

systemctl enable redis

如下图所示,Linux系统的Redis安装配置成功
在这里插入图片描述

性能测试

redis 性能测试的基本命令如下:

redis-benchmark [option] [option value]
序号参数描述默认值
1-h指定服务器主机名127.0.0.1
2-p指定服务器端口6379
3-s指定服务器 socket
4-c指定并发连接数50
5-n指定请求数10000
6-d以字节的形式指定 SET/GET 值的数据大小2
7-k1=keep alive 0=reconnect1
8-rSET/GET/INCR 使用随机 key, SADD 使用随机值
9-P通过管道传输 请求1
10-q强制退出 redis。仅显示 query/sec 值
11–csv以 CSV 格式输出
12*-l*(L 的小写字母)生成循环,永久执行测试
13-t仅运行以逗号分隔的测试命令列表。
14*-I*(i 的大写字母)Idle 模式。仅打开 N 个 idle 连接并等待。

本节结束

本系列作品持续更新中~

  • 26
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Redis 是一个开源的内存数据库,以其高性能和灵活的数据结构而闻名。《Redis 入门精通》是一本介绍 Redis 使用和深入学习的书籍,适合有一定编程基础的开发者或对数据库有一定了解的人士。 这本书从介绍 Redis 的概述和安装入手,帮助读者了解 Redis 的基本概念和使用方法。接着,书中详细介绍了 Redis 中常用的数据结构,如字符串、列表、哈希、集合和有序集合,并提供了示例代码和运用场景,让读者能够深入理解这些数据结构的使用和特点。 此外,书中还介绍了 Redis 的高级特性和应用,如发布-订阅模式、事务、持久化、复制等。这些内容帮助读者进一步了解 Redis 的技术原理和性能优势,帮助开发者更好地应用 Redis 解决实际问题。 《Redis 入门精通》还包括了性能优化、监控和故障处理等实用的内容,读者可以学习如何配置和优化 Redis 以提升系统性能,并学习如何排查和解决常见故障。 总体而言,《Redis 入门精通》是一本全面介绍和学习 Redis 的实用书籍,通过深入浅出的讲解和实例,帮助读者从入门精通 Redis,并能够灵活运用 Redis 解决实际问题。无论是想要了解 Redis基础知识还是深入学习 Redis 的高级特性,都可以从这本书中获得帮助和指导。 ### 回答2: Redis(Remote Dictionary Server)是一个开源的、基于键值对的存储系统。它以其高性能、易使用和丰富的功能而备受推崇。《Redis入门精通》PDF是一本针对Redis的学习资料,从入门到深入掌握Redis的各个方面进行了详细介绍。 这本书首先介绍了Redis的基本概念和原理,包括键值对存储、数据类型、持久化等核心概念。然后,它深入讲解了Redis的各种高级功能,如发布订阅、事务、Lua脚本等。此外,书中还包含了丰富的示例代码和实际应用场景,帮助读者更好地理解和应用Redis。 《Redis入门精通》PDF适合各个层次的读者。对于初学者,它提供了系统全面的入门指导,从安装配置开始,一步步引导读者熟悉和掌握Redis的使用。对于有一定经验的开发者,它提供了高级特性和实战案例,让读者深入了解Redis的内部机制和最佳实践。 此外,这本书还介绍了Redis的性能调优和集群部署等内容,帮助读者在实际应用中充分发挥Redis的潜力。无论是Web应用的缓存、消息队列还是实时数据分析,Redis都应该是开发者的首选。 总之,《Redis入门精通》PDF是一本权威而实用的Redis学习资料,通过系统而全面的介绍,帮助读者从入门精通Redis,更好地应用Redis解决实际问题。无论是初学者还是有经验的开发者,都可以从中获益匪浅。 ### 回答3: 《Redis 入门精通》是一本介绍 Redis 数据库的权威指南。Redis 是一种高性能、可扩展的键值存储系统,常用于缓存、消息队列、实时统计和分布式会话管理等领域。 该书从 Redis基础概念入手,包括安装配置、数据结构、持久化、集群部署等内容,帮助读者快速上手 Redis。接着介绍了 Redis 的高级功能,例如发布订阅、事务、Lua 脚本编写、并发控制等,让读者深入了解 Redis 的各种用法和技巧。 《Redis 入门精通》还涵盖了 Redis 在实际应用中的最佳实践,包括如何优化性能、如何设计和实现分布式系统等。此外,书中还介绍了常见的 Redis 开源工具和框架,如 Redisson、Spring Data Redis 等,帮助读者更好地利用 Redis 构建高效的应用程序。 该书内容丰富、结构清晰,适合初学者和有一定经验的开发人员。无论是想快速上手 Redis,还是想深入学习 Redis 的高级用法,本书都能提供详细的指导和实例演示。 总之,通过阅读《Redis 入门精通》这本书,读者可以系统地学习和掌握 Redis 数据库的各个方面,从入门精通。无论是作为开发人员、DBA 还是系统架构师,都能在实际工作中充分发挥 Redis 强大的功能和性能优势。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值