Redis基础学习一

举报
多米诺的古牌 发表于 2022/02/18 12:06:46 2022/02/18
【摘要】 1.Redis的诞生1.1 磁盘和内存数据存储分为两个位置,一个是磁盘,另一个是内存。1.1.1 磁盘的优势是成本价格便宜,缺点是寻址速度是ms(毫秒级)补充:磁盘由一圈圈磁道组成,而磁道又由很多扇区组成,读取扇区中的数据时,最少是读取4k的数据,如果小于4k还是会读取4k的信息。1.1.2 内存的优势是寻址速度是ns(纳秒级,相当于磁盘的十万倍),缺点是成本价格很昂贵1.2 为什么使用Re...

1.Redis的诞生

1.1 磁盘和内存

数据存储分为两个位置,一个是磁盘,另一个是内存。

1.1.1 磁盘的优势是成本价格便宜,缺点是寻址速度是ms(毫秒级)

补充:磁盘由一圈圈磁道组成,而磁道又由很多扇区组成,读取扇区中的数据时,最少是读取4k的数据,如果小于4k还是会读取4k的信息。

1.1.2 内存的优势是寻址速度是ns(纳秒级,相当于磁盘的十万倍),缺点是成本价格很昂贵

1.2 为什么使用Redis

1.2.1 数据量变大的影响

因为内存相对磁盘很小,所以数据基本都是存储在磁盘中,而其中的索引是将B-Tree之类的树中的枝干存储在内存类(因为内存寻址比磁盘快十万倍,所以查找会变

快),当表的字段变多的时候或数据量变大,增删改速速会变慢,但是查询速度在查询量很小时还是会很快,但是高并发查询时会被磁盘的带宽影响速度变的很慢。

1.2.2 Redis缓存的诞生

在硬盘的各种缺点和内存的成本之间,都会大大影响我们日常的使用,因此Redis这类缓存技术就诞生了,他会将一部分资源放进内存中。

Redis是一个高性能(读写非常快,读可以达到每秒十万次,写可以达到每秒8万次)的key-value数据库,并且提供string 字符串(可以为整形、浮点型和字符串,统

称为元素)、list 列表(实现队列,元素不唯一,先入先出原则)、set 集合(各不相同的元素)、hash散列值(hash的key必须是唯一的)、sort set 有序集合五种数

据结构的存储。

2.Linux安装

2.1 yum install wget

此例为空服务器上,首先安装wget

2.2 cd 进入根目录或者任意目录

2.3 mkdir redisTest 创建文件夹存放redis压缩包

2.4 cd redisTest 进入到redisTest文件夹目录下

2.5 wget http://download.redis.io/releases/redis-xxx.tar.gz 下载对应的版本的redis压缩包

2.6 tar xf redis.xxx.tar.gz 解压缩redis压缩包到当前目录下

2.7 cd redis中src查看README.md文档,里面会有安装的说明等

2.8 make 进行编译安装

2.8.1 如果安装失败,检查原因,比如没有gcc就需要安装gcc,执行指令是 yum install gcc

         如果安装失败,会有些安装失败的文件,需要通过指令make disclean进行清除,然后再进行make编译安装指令。

2.9 cd 进入src目录下,如果看到redis-server等绿色的可执行文件则为安装成功

2.10 cd..会到安装目录下

2.11 make install PREFIX=/opt/test(任意目录),将可执行文件安装到指定目录,用于之后的开机自启动和多个redis的配置

2.12 vim /etc/profile 进入profile文件夹下进行环境变量的配置

        export REDIS_HOME=/opt/test(上面存放的任意目录)

        export PATH=$PATH:$REDIS_HOME/bin

       source /etc/profile 重新加载配置文件

2.13 cd utils 进行多个redis的配置

2.14 ./install_server.sh 可以执行一次或者多次

爬坑1 参考1

如果出现下面提示,需要将_pid_1_exe方法整个屏蔽掉再执行./install_server.sh就可以完成设置了

Welcome to the redis service installer
This script will help you easily set up a running redis server
 
This systems seems to use systemd.
Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry!

2.1.4.1 一个物理机中可以有多个redis实例(进程),通过port端口号进行区分;

2.1.4.2 可执行程序只有一份存在上面的自己放的任意目录,但是内存中可以有多个实例,只需要执行install_server,sh脚本进行指定port端口号、各自的配置文件、持久

化目录。

2.1.4.3 启动/停止命令是通过指令 service redis_6379 start/stop/stauts进行执行,redis_6379这类的是在/etc/init.d/xxx,是通过上面脚本配置的端口号自动生成的。

再通过脚本设置另外一个6380端口的redis实例,通过ps -fe | grep redis查看已经启动redis进程,此时就可以看到6379和6380两个redis实例已经启动了。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。