Redis认识
什么是Redis?
Redis(全称:Remote Dictionary Server 远程字典服务)是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,遵守BSD协议。是一个非关系型数据库(NoSQL)。
官方是这么介绍的:
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件. 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs和 地理空间(geospatial) 索引半径查询. Redis 内置了 复制(replication), LUA脚本(Lua scripting), LRU驱动事件(LRU eviction), 事务(transactions)和不同级别的 磁盘持久化(persistence)。
并通过 Redis哨兵(Sentinel) 和自动 分区(Cluster)提供高可用性(high availability)。你可以对这些类型执行 原子操作 , 列如: 字符串(strings)的append 命令; 散列(hashes)的hincrby命令; 列表(lists)的lpush命令; 集合(sets)计算交集sinter命令, 计算并集union命令和 计算差集sdiff命令; 或者 在有序集合(sorted sets)里面获取成员的最高排名zrangebyscore命令。
为了实现其卓越的性能, Redis 采用运行在 内存中的数据集工作方式。根据您的使用情况, 您可以每隔一定时间将 数据集导出到磁盘, 或者 追加到命令日志中。您也可以关闭持久化功能,将Redis作为一个高效的网络的缓存数据功能使用. Redis 同样支持 主从复制(能自动重连和网络断开时自动重新同步),并且第一次同步是快速的非阻塞式的同步。
其他功能包括:
- 事务(Transactions)
- 订阅分发(Pub/Sub)
- LUA脚本(Lua scripting)
- 过期自动删除key
- 内存回收
- 自动故障转移
Redis与其他key-value缓存产品的优势
- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
- Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
- Redis支持数据的备份,即master-slave模式的数据备份。
Redis与其他key-value缓存产品的不同
- Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。
- Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。
Redis的优势
- 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
- 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
- 原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
- 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。
Linux下Redis的安装
这里我将在安装远程服务器上,linux虚拟机或者其他容器安装同理
下载安装包
我们去官网下载redis的安装包,这里我选择的是5.0.8版本的。下载地址
上传安装包
将我们的安装包上传到我们的远程服务器,这里我用的是MobaXterm来控制远程服务器,安利一下。
解压移动Redis安装包
我们的程序一般放在opt目录下,所以我们将redis的安装包移动过去并解压
解压后,我们就可以看到redis的软件了
环境命令安装
在该目录下,我们安装gcc-c++的环境,因为我们要知道redis是c语言编写的。
yum install gcc-c++
centos下指令
安装成功界面(很快的)
可以gcc -v
查看版本信息
然后使用make命令将我们所需要的文件配置上,这个时间有点长,耐心等待即可。成功后如下
Redis默认安装路径
在上面步骤执行完毕之后,我们需要去usr/local/bin/
可以看到我们的redis已经被安装上了
复制配置文件到我们的安装路径下
接下来我们需要去我们redis的文件夹下复制我们的配置文件到我们的安装路径下,因为我们的redis启动时需要带有我们的config文件名来启动
-
我们先在当前目录下创建一个redis_config来存放配置文件
-
然后去/opt目录下redis的文件夹下复制一份配置文件到我们的redis_config文件夹下
修改配置文件
redis默认不是后台启动的,所以我们需要进行修改,改成后台启动。我们用vim进入我们的配置文件redis.conf,找到daemonize
改成yes即可
Redis启动测试
我们通过配置文件启动服务端
然后再打开客户端,并设置端口6379。进行连接测试
关闭Redis服务
有启动就会有关闭,我们总不能启动了就不管了吧。那么redis是如何关闭呢。我们可以shutdown指令来关闭我们的服务,然后exit就可以退出连接了。我们同时还可以用ps -ef | grep redis
来查看我们的服务是否确确实实关闭了。
本文实践部分参考自狂神视频
网友评论