一 Redis是什么,有什么优缺点,有哪些应用场景
Redis是一个基于内存的高性能的NoSQL数据库,通过key-value的形式存储数据,可以作为作为数据库,缓存系统和消息中间件。
支持多种类型的数据结构,而且还可支持数据的持久化。
Redis,不是万能的,有他自己的使用场景和适用范围。
不适合的场景:
# 不太适合存储大规模的数据。我们知道他是基于内存的,虽然现在内存已经很便宜了,但是,每天都有大量的数据,那么也是吃不消的。
# 不太适合存储冷数据,如果数据访问的很少,或者操作的很少,那就是对内存的浪费。
适合的场景:
# 缓存:如果只是作为缓存使用,那么他可以取代Memcached
# 计数器:全局统计技术,比如商品的浏览数,喜欢数等
# 电商网站中的抽奖,秒杀系统
# 消息队列
二 Redis的安装
2.1 下载或者准备Redis源码包
2.2 安装环境的检查
检查是否安装gcc,gcc-c++,如果没有安装则安装
yum install -y gcc gcc-c++
2.3 检查是否存在环境变量MALLOC
如果存在,根据需要设置对应的值libc或者jemalloc或者其他(管理内存碎片的)。如果没有默认就是jemalloc。但是你机器如果没有安装
jemalloc,那么需要先安装。否则会报错:
error: jemalloc/jemalloc.h: No such file ordirectory
安装步骤:
# wget --no-check-certificatehttps://github.com/jemalloc/
jemalloc/releases/download/4.4.0/jemalloc-4.4.0.tar.bz2
# tar -jxf jemalloc-4.4.0.tar.bz2
# 如果没有configure,则需要调用autogen.sh,产生configure;如果已经有了则执行:
./configure --prefix=/usr/local/jemalloc
# 编译和安装
make && make install
如果你不想使用jemalloc,那么你有2两个选择:
第一:配置环境变量MALLOC=libc
第二:在redis make的时候加上参数MALLOC=libc
2.4 编译安装
make MALLOC=/usr/local/jemalloc/lib/ PREFIX=/opt/app/redis install
MALLOC=/usr/local/jemalloc/lib/ :指定MALLOC值,你也可以指定libc
PREFIX=/opt/app/redis install:安装到哪儿去,即在哪个文件下产生一个bin目录,里面放着编译好的各种命令
默认会把这些命令存放在redis源码包的src目录下。
2.5 配置环境REDIS_HOME
# REDIS_HOME
export REDIS_HOME=/opt/app/redis
export PATH=$PATH:$REDIS_HOME/bin