云服务器安装配置Redis
安装redis之前,先简单介绍一波redis。
1.redis简单介绍
1.1 什么是Redis
- Redis和Mongodb都属于非关系数据库(NoSQL)。
- Redis是一种开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息代理。Redis提供数据结构,例如字符串,哈希,列表,集合,带范围查询的排序集合,位图,超日志,地理空间索引和流。Redis具有内置的复制,Lua脚本,LRU驱逐,事务和不同级别的磁盘持久性,并通过Redis Sentinel和Redis Cluster自动分区提供了高可用性。
- Redis是一个开源的使用ANSI C语言编写可基于内存亦可基于磁盘,Key-Value数据库。类似于map
1.2 NoSQL
NOSQL(Not only sql):不仅是sql语句, 它是对所有非关系型数据库的一种统称。 除去关系型数据库之外的都是非关系数据库。
1.3 NoSQL与RDBMS的区别
- RDBMS
- 高度组织化结构化数据。 user—userid username age sex …
- 结构化查询语言(SQL) sql语句
- 数据和关系都存储在单独的表中。
- 数据操纵语言DML,数据定义语言DDL
- 严格的一致性. 事务
- 基于事务
- NoSQL
- 代表着不仅仅是SQL
- 没有声明性查询语言
- 键 - 值对存储。
- 最终一致性,而非ACID【原子,一致,隔离,持久】属性
- 非结构化和不可预知的数据 字符串 对象 队列 集合
- 高性能,高可用性和可伸缩性。 适合搭建集群。 mysql搭建集群。非常复杂。主从模式
2.redis的特点
- Redis读取的速度是110000次/s,写的速度是81000次/s
- 原子 。Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
- 支持多种数据结构:string(字符串);list(列表);hash(哈希),set(集合);zset(有序集合)
- 持久化–磁盘,主从复制(集群)
- 官方不支持window系统,但是又第三方版本。 linux系统。
3.安装redis
3.1 安装redis需要的环境
yum install -y gcc-c++
我的服务器已安装需要的环境啦
3.2 官网下载redis源码安装包
官网地址:https://redis.io/download,下载完成之后可以使用xftp将压缩包放进centos系统里面。记住自己的目录。
3.3 进入压缩包所在目录,并解压
#进入目录
cd /usr/redis/
#
解压
tar -zxvf redis-6.2.1.tar.gz
3.4 解压完成后,进入安装目录执行编译命令make
3.5 执行安装命令
make install
3.6 开启服务
#开启服务的命令
redis-server redis.conf
3.7 使用redis客户端连接redis服务器
刚安装好的redis还不能使用同一个会话去连接redis服务器。因此我们将会话复制一份,在复制的会话上面进行连接redis服务器。
会话2连接命令
- redis服务器默认端口号是6379 我们可以在会话1开启服务的动画右边看到
- redus服务器的ip地址,由于我们是本机连接所以使用localhost即可。
redis-cli -h redis服务器的ip -p redis服务器的端口号
4.redis简单配置
redis的配置文件redis.conf内容有很多。这里不做详细介绍,简单的看两个。
4.1 demonize
- daemonize是用来指定redis是否要用守护线程的方式启动。
- 我们采用yes时,redis会在后台运行,此时redis将一直运行,除非手动kill该进程。同时将进程pid号写入至redis.conf选项pidfile设置的文件中,默认会生成在/var/run/redis.pid,也可以通过pidfile来指定pid文件生成的位置
- 而采用no时,当前界面将进入redis的命令行界面,exit强制退出或者关闭连接工具(putty,xshell等)都会导致redis进程退出
直白的来说:
- 当demonize设置为no。启动服务后,不能进行其它操作,如果退出或者关闭连接工具等,都会导致redis进程结束吗,不能再连接redis服务了。
-
- 当我们设置为yes,redis可以在后台进行启动。使用同一个会话也可以连接redis服务。
4.2 port
redis默认端口号:6379.可以在配置文件修改。我就更改为6001了。后续启动服务借助6001这个端口。
4.3 bind
bind:是绑定本机的IP地址,(准确的是:本机的网卡对应的IP地址,每一个网卡都有一个IP地址),而不是redis允许来自其他计算机的IP地址。
如果指定了bind,则说明只允许来自指定网卡的Redis请求。如果没有指定,就说明可以接受来自任意一个网卡的Redis请求。
bind 这个参数是 redis服务监听本地的哪个ip的端口,不是说可以让谁来链接
比如 我有一台服务器,有三个ip,一个内网1网段192.168.1.100,一个内网2网段192.168.2.100,一个公网IP 47.22.22.255
这台服务器上的redis只想让内网1网段的机器和公网ip的访问
就设置 bind 192.168.1.100 47.22.22.255
这样子用户在访问192.168.1.100:6379 和47.22.22.255:6379都可以访问到此redis服务
访问192.168.2.100:6379就访问不到。