Lesson11 Linux中 Redis缓存的配置

1 服务缓存

1.1 为什么有服务器缓存这个东西?

缓存机制主要的目的就是降低用户访问物理设备的频次.提供用户的查询的效率.
衍生: 可以利用缓存服务器有效的降低用户访问数据库的压力.

缓存数据存在于内存中。

1.2 搭建一个缓存服务器要考虑的要素

1.缓存用什么样的结构存储数据? K-V
2.缓存服务的开发用什么语言? C语言
3.缓存服务运行的环境? 让缓存服务运行在内存中。
4.缓存的数据都在内存中,万一断电,就将丢失。 要序列化(持久化到磁盘中)
5.内存大小有限,而缓存数据不断增多。总有一天内存会溢出。 要优化内存,定期清除不需要的内存。用(LRU算法/LFU算法)

1.3 最常用的数据库缓存系统----Redis

Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件
Redis支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。
Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。

面试题: Redis支持5种数据类型.
速度快: 读 11.2万次/秒 写 8.6万次/秒 平均大约10万次/秒

Redis也可以看做一个数据库,它属于非关系型数据库(一维的,eg:properties文件中那样的)
在这里插入图片描述关系型数据库是二维的:(有行和列) Mysql数据库就是关系型数据库
在这里插入图片描述

2 Redis安装

2.1 上传Redis (本次版本5.0.4,最新的版本已到6,但安装总是不成功)

在这里插入图片描述

2.2 解压Redis

在这里插入图片描述

2.3 编译安装Redis

1.执行编译操作 make

在这里插入图片描述2.2.安装redis make install
在这里插入图片描述

2.4 修改redis配置文件

最开始 用命令 vim redis.conf 进入时,文件中是不显示行号的。
可以通过 :set nu 再回车 就显示行号了。

1.修改IP绑定
默认第69行 设置的是 127.0.0.1 。即只能本机连接,即自娱自乐。
而我现在的服务是 windows系统 去远程连接 linux系统。
所以要把这行注释掉。
在这里插入图片描述
2.关闭保护模式
相当于一个守卫。
就算redis数据库在权限方面都放开了。
但如果这个守卫是yes状态,别人还是无法访问redis数据库。
所以要改成no
在这里插入图片描述
3.开启后台运行
在这里插入图片描述

如果没开启 程序后台运行,那么一运行程序 ,就会像springboot那样,在控制台中打印logo和信息。并且下班后,终端一关,服务器就不工作了。
在这里插入图片描述

3 Redis常规命令

要求:进入redis根目录中执行.
特点:redis每次启动时都会读取配置文件. 如果需要准备多台redis则需要准备多个配置文件

1.启动命令 redis-server redis.conf
开启后台运行的效果
在这里插入图片描述
2.校验服务是否运行正常
在这里插入图片描述3.进入redis客户端中 redis-cli -p 6379
跟mariaDB类似,Redis也有自己的客户端
注意:6379是redis默认的端口号,其实 -p 6379 可以省略不写。(但如果修改了redis的默认端口号,那这个端口号就不能省略不写了)
在这里插入图片描述4.关闭Redis命令:
方式1. kill -9 PID号
方式2. redis-cli -p 6379 shutdown
在这里插入图片描述

4 Redis的16个库和Redis主机/从机的关系

当我在安装完Redis服务器后(比如:端口号为6381),会默认在6379中为我创建16个数据库,编号为0 到 15.
在这里插入图片描述我如果不指定往6381redis服务器的哪个数据库中存的话,会默认往0号数据库存数据。
这16个数据库之间的数据是相互独立的。
当我人为指定跳转到6381redis服务器的1号数据库中时,想读取0号数据库中的数据,是读取不到的。
并且只有这16个数据库,当我想访问第17个数据库时,会报错。

如果我换一个redis服务器,比如6382,它又会为我创建16个数据库。以此类推。

而6381和6382可以是主从关系,但不影响它们每个人都拥有自己的16个数据库。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值