Redis学习预习笔记

 

1.为什么有redis?

问题1:文件放在硬盘中,如果文件越大,相应的查询时间也就会越久。
主要的原因是因为IO全量扫描造成的时间更长(grep awk)
但是在数据库中的查询时间更短,主要是因为在数据库中进行了数据分治,将存储空间设置成多个datapage,并且在数据库中可以构建索引,然后做成B+树,将树干存放于内存中。
马士兵老师总结了一个道理,计算机在进步的过程中,就是在对抗全量IO的过程。

问题2:如果数据库中表很大,有很多行,增删改查会变慢?对不对?
那么我们将这个问题拆开看的话,就是说将增删改查,看成读和写;写一定会变慢,因为写会涉及到索引的调整;那么读就不一定会变慢
如果只有一个客户端在进行一个简单的查询,那么如果索引名中,其实也就两个4K的datapage的查询,所以查询结果也就是毫秒级的
如果并发很大,每个人都命中索引,且读取的数据不一样,那么硬盘的吞吐量就会影响到查询效果。

所以这里就引出了redis memcache等技术

在所有的数据中,只有一部分的热数据会频繁使用,放在内存中,不频繁访问的放在硬盘中。
在数据库中,分为关系型数据库和非关系型数据库;
mysql HANA等支持sql的复杂查询,而redis的技术nosql,常见的key-value;在关系型数据库中,常用词:约束,范式,冗余等!
那非关系型数据库,做成nosql的,主要防止有约束存在,一张表在内存,一张表在硬盘中的情况产生。

在memCache中,只有一个String类型,如果想取回下表为2的元素,就需要将String的字符串取回,然后自行进行反序列化处理,然后取出第二个元素;
在redis有很多数据类型,有Sring,list,set,hash,zset数据结构,每种数据结构都有自己的本地方法。那么如果要取回存放数据中的下表为2的元素,就可以直接使用redis的list类型的数据结构,用本地方法取回元素,并返回。
所以综上所诉,memCache是数据项计算移动,而redis是计算向数据移动。
在redis中,工作线程是单线程的,对数据进行串行化处理。

redis安装

首先wget下载
然后tar -zxvf ...tar包,
首先阅读readme文件,里面讲了怎么安装
error:报错:cc : Commond not found : C语言的编译器找不到,那么 : 
yum install gcc -y
继续执行make命令,又会继续报错,根据readme,应该执行
make distclean(清除缓存)
在源码文件中如果有makefile那么执行make方法。
如果有ocnfigure方法,那么执行./configure命令
最后异步就是执行拷贝过程,
make PREFIX=(路径) install .

接下来就是配置环境变量

vi /etc/profile
//加上  
export REDIS_HOME=/opt/bigdata/redis5
//然后再PATH加上REDIS_HOME  用“ :”隔开
:$REDIS_HOME/bin
source /etc/profile

//设置开机自启
cd utils
./install_server.sh
//默认端口号是:6379
后台服务的脚本:/etc/init.d

 本篇文章是在学习马士兵老师redis预习课程的时候,记录的笔记。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值