Redis是一种基于键值对(key-value)数据库,其中value可以为string、hash、list、set、zset等多种数据结构,可以满足很多应用场景。还提供了键过期,发布订阅,事务,流水线等附加功能。
流水线: Redis的流水线功能是指,允许客户端一次将多个命令请求发送给服务器, 并将被执行的多个命令请求的结果在一个命令回复中全部返回给客户端, 使用这个功能可以有效地减少客户端在执行多个命令时需要与服务器进行通信的次数。
其有如下几点特性:
速度快,数据放在内存中,官方给出的读写性能10万/S,与机器性能也有关
键值对的数据结构服务器
丰富的功能:键过期,发布订阅,事务,流水线等
简单稳定:单线程
持久化:持久化到硬盘,但发生断电或机器故障,数据可能会丢失
那么Redis有哪些使用场景呢?如下:
然后再来简单看一看Redis的通讯模型,如下:
执行过程: 发送指令-> 执行命令-> 返回结果
执行命令: 单线程执行,所有命令进入队列,按顺序执行,使用I/O多路复用解决I/O问题,通过 select/poll/epoll/kqueue 这些I/O多路复用函数库,可以解决了一个线程处理多个连接的问题
单线程快原因: 纯内存访问, 非阻塞I/O(使用多路复用),单线程避免线程切换和竞争产生资源消耗。当然单线程的问题就是如果某个命令执行慢,那么就会造成其它命令的阻塞
简单的介绍了下Redis后,我们来看一下Redis在Windows及Linux环境下,分别是如何进行安装的,首先我们先来看一下Windows环境下的安装步骤。
首先我们要去下载一个Windows版本安装包,但是现在官网已经没有下载地址,只能在github上下载,官网只提供linux版本的下载。
github下载地址:https://github.com/microsoftarchive/redis/releases
下载完成后,然后将其解压至我们想要的安装目录下,在运行中输入cmd,然后把目录指向解压的Redis目录,如下:
然后就可以执行Redis的启动命令了,redis-server redis.windows.conf
,出现下图显示表示启动成功了。
上面虽然启动了Redis,但是只要一关闭cmd窗口,Redis就会消失。所以要把Redis设置成windows下的服务。可以使用下列命令来设置服务命令
redis-server --service-install redis.windows-service.conf --loglevel verbose
然后我们就可以通过下列常用的Redis服务命令来控制
开启服务: redis-server --service-start
停止服务: redis-server --service-stop
卸载服务: redis-server --service-uninstall
在启动了Redis服务后,我们还有使用Redis的客户端进行测试,如下:
同样的首先我们也是需要下载Redis的Linux的安装包,下载地址:
在选择版本时,需要注意其版本号,版本号第二位为奇数,为非稳定版本(如 2.7、2.9、3.1),第二为偶数,为稳定版本(如 2.6、2.8、3.0),当前奇数版本是下一个稳定版本的开发版本,如2.9是3.0的开发版本,所以我们在日常使用中,肯定尽量使用稳定版本。
选择好版本后下载,然后上传至虚拟机,或者也可以直接通过wget命令进行下载,如下:
wget http://download.redis.io/releases/redis-4.0.6.tar.gz
然后将其解压,如下:
tar xzf redis-4.0.6.tar.gz
然后我们就可以使用 mv 命令,将解压后的redis移至想要安装的路径下,然后进入其中,如下
然后执行 make 命令,就可以进行安装了
make完后 redis-4.0.9 中就会出现编译后的redis服务程序redis-server
,还有用于测试的客户端程序redis-cli
,两个程序位于安装目录 src 目录下:
然后下面我们就可也以进行启动Redis服务了,命令:./redis-server
注意:上述方式启动Redis使用的是默认配置。也可以通过启动参数告诉Redis使用指定配置文件使用下面命令启动。
./redis-server …/redis.conf
redis.conf
是一个默认的配置文件,我们可以根据需要设置相应的配置文件。
通过上述启动Redis服务后,发现和Windows下同一个的一个问题,就是终端页面不能关闭,也不能操作其他的命令(当然是可以再开启另一个终端页面的),Redis就会停止,那么我们就可以添加一个 & 符号,将Redis改为后台启动,如下:
启动Redis服务进程后,就可以使用测试客户端程序redis-cli
和Redis服务交互了,和上述Windows测试时一致的, 如下:
那么如果想要关闭Redis服务,可以执行:./redis-cli shutdown
最后我们再来介绍一个Redis安装好后,在其 src 目录会有一些可执行文件(上述也提到了,并介绍了redis-server
和redis-cli
),其中比较常用的如下:
可执行文件 | 作用 |
---|---|
redis-server | 启动Redis服务 |
redis-cli | Redis命令行客户端 |
redis-benchmark | 基准测试工具 |
redis-check-aof | AOF持久化文件检测和修复工具 |
redis-check-dump | RDB持久化文件检测和修复工具 |
redis-sentinel | 启动哨兵 |
本文地址:https://blog.csdn.net/newbie0107/article/details/107190511
如对本文有疑问, 点击进行留言回复!!
厉害!俩月吃透阿里P8架构师推荐608页kafka源码,成功入职蚂蚁
性能 1.84 倍于 Ceph!网易数帆开源分布式存储系统 Curve
荐 面试半年,上个月成功拿到阿里P7offer,全靠我啃烂了这份2020最新面试题!
高并发高可用复杂系统中的缓存架构(十五) 缓存架构讲解,如何保证缓存数据库一致性
网友评论