1、什么是Redis?
- Redis全名:Remote Dictionary Server(远程字典服务)。是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库。
- Redis是用C语言开发的一个开源的高性能键值对(key-value)分布式内存数据库。它遵守BSD协议,基于内存运行并支持持久化的NoSQL数据库。
- 它提供五种数据类型来存储值:字符串类型、散列类型、列表类型、集合类型、有序类型。
- 它是一种NoSql数据库。
2、什么是NoSql
- NoSQL:Not noly SQL,意思不仅仅是SQL,它是属于非关系型数据库;那什么是关系型数据库?数据结构是一种有行有列的数据库。
- NoSql数据库是为了解决高并发、高可用、高可扩展、大数据存储问题而产生的数据库解决方案。
- NoSql可以作为关系型数据库的良好补充,但是不能替代关系型数据库。
- Redis就属于非关系型数据库,而传统的Mysql ,oracle ,sql server 等都是关系型数据库。
NoSql有以下4种分类:
- 键值(Key-Value)存储数据库(Redis)
- 列存储数据库(Cassandra,Hbase)
- 文档型数据库(MongoDB)
- 图形(Graph)数据库(放的是关系比如:推荐系统,社交网络,专注构建关系图谱)。
为什么需要NoSQL,主要应对以下问题,传统关系型数据库力不从心:
- High performance --高并发读写
- Huge Storage--海量数据的高效率存储和访问
- High Scalablility && High Availability --高可扩展性和高可用性
NoSQL的特点:
- 易扩展
- 灵活的数据模型
- 大数据量,高性能
- 高可用
3、Redis 的应用场景
Redis的应用场景:其中,作为缓存的应用场景是最多的。
- 缓存(数据查询、短连接、新闻内容、商品内容等等)
- 任务队列 (秒杀、抢购、12306等等)
- 内存数据库(登录信息、购物车信息、用户浏览记录等)
- 网站访问统计
- 聊天室的在线好友列表
- 数据过期处理(可以精确到毫秒)
- 应用排行榜
- 支持发布订阅的消息模式
- 解决分布式集群架构中的Session分离问题(Session共享)
4、Redis 的安装
Redis的下载地址如下:
- 官网地址:https://redis.io/
- 中文官网地址:http://www.redis.cn
- 下载地址:http://download.redis.io/releases/
使用SSH工具连接上Linux(CentOS7)后,进行以下操作:
到Redis官网查看版本:https://redis.io/ ,然后复制链接。也可以通过下载到本地然后通过Xftp等其他工具上传至Linux中。
注意:!!!这里不用新版本,我们使用Redis 5.0.10,旧版入口链接:https://redis.io/download 下滑找到指定的版本。
①、下载解压Redis
使用wget方式 (!!!注意:如果没有wget就要下载:yum -y install wget) 下载redis压缩包:
yum -y install wget wget https://download.redis.io/releases/redis-5.0.10.tar.gz
如果你网不好可以先在Windows下载好,然后再用Xftp等其他工具上传到Linux上面。
使用 ll 命令查看当前目录下所有文件
然后对其进行解压操作:
tar -zxvf redis-5.0.10.tar.gz
②、编译Redis
进入redis源码:
cd redis-5.0.10
接下来就需要对源码进行编译了,如果电脑没有安装c语言环境,请先安装,因为Redis是用c语言写的:
yum -y install gcc-c++
然后再使用make命令对源码进行编译:
make
如果发现执行 make 命令报错(没报错忽略)。这时候需要执行 make distclean 命令后,然后再执行 make 命令即可。
③、安装Redis
编译过后,就是安装了,安装Redis的命令如下:
make install PREFIX=/usr/local/redis
该命令中,前面的"make install PREFIX="是固定的,而"/usr/local/redis"是Redis的安装目录,一般就这么写,如若需要安装在其他地方,只需将此路径更换即可。
查看Redis是否安装成功:
各个指令的含义:
- redis-benchmark:Redis性能测试工具
- redis-check-aof:AOF文件修复工具
- redis-check-rdb:RDB文件检查工具
- redis-server:Redis服务器
- redis-cli:Redis命令行客户端
5、Redis 的启动
首先,我们进入 Redis 文件的安装目录,会看到一个非常非常非常重要的文件redis.conf,它是整个Redis的配置文件。
既然这个文件这么重要,所以一般为了防止这个文件破坏,我们复制一份到redis的安装目录bin下:
cp redis.conf /usr/local/redis/bin 格式:cp 拷贝文件夹 拷贝路径
然后我们给redis设置密码,更改拷贝的redis.conf配置(原先的不动):
cd /usr/local/redis/bin/ vi redis.conf 按i进入输入模式,完成后按esc,然后输入 :wq 保存并退出
①、前端启动
启动命令如下:
./redis-server redis.conf
注意:此种方式启动 Redis,当我们关闭命令窗口时,则 redis-server 程序也结束了,这显然是不友好的,我们需要将Redis设置为以守护进程的方式进行启动。
②、后端启动(守护进程启动)
设置以后端的形式启动:通过修改配置文件redis.conf ,我们ctrl+c 退出当前程序;
vi redis.conf
将no改成yes即可
再次启动Redis服务
然后查看Redis服务是否启动:
ps -ef | grep redis
可以发现已经成功启动了,启动完成之后,我们执行 redis-cli 命令进入 Redis 客户端:
./redis-cli
Redis 客户端的关闭
- redis-cli shutdown:安全关闭,但是只适用于没有配置密码的场景(一般情况下不会给Redis设置密码)。
- kill -9 进程pid:强制关闭,可能会造成Redis内存数据丢失。
6、远程连接Redis
首先要有如下几步(每一步都非常重要):
①、注释掉该配置 bind 127.0.0.1,这个表示绑定的IP才能访问redis服务器
②、protected-mode yes 是否开启保护模式,将yes改为no
③、开放6379防火墙
# firewall-cmd --zone=public --add-port=6379/tcp --permanent #显示 success ----------------------------------------------------------------- 重启防火墙 # firewall-cmd --reload #显示 success ----------------------------------------------------------------- 检查端口是否开启 # firewall-cmd --query-port=6379/tcp #显示 yes
④、重新启动Redis服务
我们直接暴力法:
#查看redis进程 ps -ef | grep redis #杀死进程 kill –9 pid #启动redis服务 ./redis-server redis.conf
⑤、然后下载RedisDesktopManager,网盘链接:https://pan.baidu.com/s/1p2O_9-atDFz4ZC_x_iIJeg 提取码:kv6k
一键傻瓜式安装,非常方便。