redis 的应用范围和学习路线

在安装redis 的时候要安装gcc

使用yum安装gcc 在有网络连接条件下进行 分别执行如下命令:

#安装gcc、c++编译器以及内核文件

在线安装gcc

yum -y install gcc gcc-c++ kernel-devel

#如果没有安装make: yum install make

#验证安装成功的方法: gcc -v或者:g++ -v

如果显示的gcc版本仍是以前的版本,可以重启系统;

#查看gcc的安装位置: which gcc;

在线安装这里没有对gmp、mpfr、mpc等软件分别进行解压和编译,而是直接由download_prerequisites负责下载并解压,最后和gcc一起进行编译安装,这是官方推荐的做法。

只要是NAT 模式的时候,就是可以连接上网了

下载地址http://redis.io/download
安装步骤:

redis 的服务端安装

1 首先需要安装gcc,把下载好的redis-3.0.0-rc2.tar.gz 放到linux /usr/local文件夹下

2 进行解压 tar -zxvf redis-3.0.0-rc2.tar.gz

3 进入到redis-3.0.0目录下,进行编译 make

5 建立俩个文件夹存放redis命令和配置文件

mkdir -p /usr/local/redis/etc

mkdir -p /usr/local/redis/bin

6 把redis-3.0.0下的redis.conf 移动到/usr/local/redis/etc下,
 
   cp redis.conf /usr/local/redis/etc/

7 把redis-3.0.0/src里的mkreleasehdr.sh、redis-benchmark、redis-check-aof、redis-check-dump、redis-cli、redis-server
文件移动到bin下,命令:

mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin

8 启动时并指定配置文件:./redis-server /usr/local/redis/etc/redis.conf(注意要使用后台启动,所以修改redis.conf里的 daemonize 改为yes)

9 验证启动是否成功:
ps -ef | grep redis 查看是否有redis服务 或者 查看端口:netstat -tunpl | grep 6379

进入redis客户端 ./redis-cli 退出客户端quit
退出redis服务:
(1)pkill redis-server 、
(2)kill 进程号、
                            
(3)/usr/local/redis/bin/redis-cli shutdown

                                                  吞吐量(TPS)

吞吐量是指系统在单位时间内处理请求的数量

对于一个多用户的系统,如果只有一个用户使用时系统的平均响应时间是t,当有你n个用户使用时,每个用户看到的响应时间通常并不是n×t,而往往比n×t小很多(当然,在某些特殊情况下也可能比n×t大,甚至大很多)。这是因为处理每个请求需要用到很多资源,由于每个请求的处理过程中有许多不走难以并发执行,这导致在具体的一个时间点,所占资源往往并不多。也就是说在处理单个请求时,在每个时间点都可能有许多资源被闲置,当处理多个请求时,如果资源配置合理,每个用户看到的平均响应时间并不随用户数的增加而线性增加。实际上,不同系统的平均响应时间随用户数增加而增长的速度也不大相同,这也是采用吞吐量来度量并发系统的性能的主要原因。一般而言,吞吐量是一个比较通用的指标,两个具有不同用户数和用户使用模式的系统,如果其最大吞吐量基本一致,则可以判断两个系统的处理能力基本一致。

吞吐量

吞吐量是指系统在单位时间内处理请求的数量

对于单用户的系统

对于单用户的系统,响应时间(或者系统响应时间和应用延迟时间)可以很好地度量系统的性能

但对于并发系统

但对于并发系统,通常需要用吞吐量作为性能指标。

                         QPS

QPS每秒查询率

每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。对应fetches/sec,即每秒的响应请求数,也即是最大吞吐能力。 (看来是类似于TPS,只是应用于特定场景的吞吐量)

Redis

mysql

单线程

支持多线程

不支持事务,不能满足关系型数据库的ACID,但是如果是让redis 实现ACID也是可以实现的但是可能会比较麻烦

高度事务性

擅长高速的简单查询

不擅长高速的简单查询

数据保存在内存(临时性容易丢)和硬盘上(持久性,安全但是性能会降低一些,但还是非常快速的和无法和memcached )两种形式

数据保存在硬盘上

用来做缓存-redis的所有数据时放在内存中的

高并发读写

设备的读写速率比较

 

读写速率慢的问题mysql 是如何解决的

海量数据的高效率存储和访问

高扩展性和高可用性

扩展性,mysql 是如何解决的

猜你喜欢

转载自blog.csdn.net/qq_20610631/article/details/82016327
今日推荐