今天开始分析redis,为什么选择redis,从原理到实战,依此深入分析。
1、传统关系型数据库的弊端:
磁盘存数据,慢,数据格式限制比较多。
关系型数据库建表:必须给出schema。 类型:字节宽度。存:倾向于行级存储
数据库:表很大,性能下降?如果表有索引 增删改变慢
查询速度呢?
1)1个或少量查询依然很快
2)并发大的时候会受硬盘带宽影响速度
2、磁盘和内存的对比:
磁盘:
1)寻址:ms
2)带宽:G/M
内存:
1)寻址:ns
2)带宽:100G以上
秒>毫秒>微秒>纳秒 磁盘比内存在寻址上慢了10W倍
I/O buffer:成本问题
磁盘与磁道,扇区,一扇区 512Byte带来一个成本变大:索引
4K 操作系统,无论你读多少,都是最少4k从磁盘拿
3、redis内存型数据库的特点:
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。
它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。
Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。
4、对比memcache 缓存行数据库:
redis数据结构:
memcache数据结构:数据结构是json格式
两者处理对比:
5、redis 安装步骤:
5.1、安装wget 命令:
继续:
添加soft目录:
成功后:
5.2、下载安装redis:
成功后:
查看包的目录:
查看README.md 文件:vi README.md
这些文件都是起到一个帮助的命令,告诉你怎么使用redis。
cd src 到源码目录:ll命令,找到最终的文件
vi Makefile 文件:
操作细节都在里面,返回redis目录,操作make命令:
来到:
安装c语言的编译器:yum install gcc ,执行后
安装成功:
返回redis主目录,清除错误的缓存文件信息命令:make distclean,然后在执行 make 命令,成功后显示
然后到src命令下发现很多可执行的程序:
5.3、启动服务:
成功:
然后ctrl+c结束掉服务。
5.4、设置后台启动的配置操作:
安装:make install PREFIX=/opt/mashibing/redis5
查看安装结果:
添加配置:
vi /etc/profile
... export REDIS_HOME=/opt/mashibing/redis5
... export PATH=$PATH:$REDIS_HOME/bin
使之生效:source /etc/profile
这样启动:
查找文件:
查看服务启动状态:
5.5、安装多个程序:
查看状态:
5.6、查看所有redis进程:ps -fe | grep redis
5.7、总之,安装命令大概如下:
1),yum install wget
2),cd ~
3),mkdir soft
4),cd soft
5),wget http://download.redis.io/releases/redis-5.0.5.tar.gz
6),tar xf redis...tar.gz
7),cd redis-src
8),看README.md
9), make
....yum install gcc
.... make distclean
10),make
11),cd src ....生成了可执行程序
12), cd ..
13),make install PREFIX=/opt/mashibing/redis5
14),vi /etc/profile
... export REDIS_HOME=/opt/mashibing/redis5
... export PATH=$PATH:$REDIS_HOME/bin
..source /etc/profile
15),cd utils
16),./install_server.sh (可以执行一次或多次)
a) 一个物理机中可以有多个redis实例(进程),通过port区分
b) 可执行程序就一份在目录,但是内存中未来的多个实例需要各自的配置文件,持久化目录等资源
c) service redis_6379 start/stop/stauts > linux /etc/init.d/****
d)脚本还会帮你启动!
17),ps -fe | grep redis
到此,redis的基本原理和安装分享完毕,下一篇我们详细分析其底层原理,敬请期待!