redis
介绍
redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库
redis的官网:redis.io
redis的特点:
shell
丰富的数据结构
支持持久化
支持事务
支持主从
缓存
shell
类型
数据缓存
页面缓存(Smarty)
在开发网站的时候如果有一些数据在短时间之内不会发生变化,而它们还要被频繁访问,为了提高用户的请求速度和降低网站的负载,就把这些数据放到一个读取速度更快的介质上(或者是通过较少的计算量就可以获得该数据) ,该行为就称作对该数据的缓存。该介质可以是文件、数据库、内存,内存经常用于数据缓存
形式
页面缓存经常用在内存管理系统里边
数据缓存经常用在页面的具体数据里边
redis和memcache比较
Redis不仅仅支持简单的k/v类型的数据,同时还提供了list,set,zset,hash等数据结构的存储
Redis支持master-slave(主-从)模式应用
Redis支持数据的持久化
安装
安装单机版redis
yum安装版本固定,不能达到我们的需求
yum -y install redis
shell
使用编译安装
mkdir -p /data/application //创建工作目录
cd /data/application
wget http://download.redis.io/releases/redis-5.0.10.tar.gz //下载redis
tar xf redis-5.0.10.tar.gz //解压
mv redis-5.0.10/ redis
cd redis/
yum install -y gcc make //安装编译工具
make //编译安装
cp redis.conf redis.conf.bak //备份编译后的配置文件
vim redis.conf //配置文件
bind 0.0.0.0 #所有ip可以访问
daemonize yes #开启后台模式将on改为yes
timeout 300 #连接超时时间
port 6379 #端口号
dir /data/application/redis/data #本地数据库存放持久化数据的目录该目录-----需要存在
pidfile /var/run/redis_6379.pid #定义pid文件存放位置
logfile /var/log/redis.log #定义log文件存放位置
创建存放数据的目录
mkdir -p /data/application/redis/data
shell
配置redis为systemctl启动
cd /lib/systemd/system
vim redis.service
[Unit]
Description=Redis
After=network.target
[Service]
ExecStart=/data/application/redis/src/redis-server /data/application/redis/redis.conf --daemonize no
ExecStop=/data/application/redis/src/redis-cli shutdown
[Install]
WantedBy=multi-user.target
===================================
参数详解:
[Unit] 表示这是基础信息
Description 是描述
After 是在那个服务后面启动,一般是网络服务启动后启动
[Service] 表示这里是服务信息
ExecStart 是启动服务的命令
ExecStop 是停止服务的指令
[Install] 表示这是是安装相关信息
WantedBy 是以哪种方式启动:multi-user.target表明当系统以多用户方式(默认的运行级别)启动时,这个服务需要被自动运行。
=====================================
启动服务:
systemctl daemon-reload
systemctl start redis.service
配置环境变量启动
vim /etc/profile
export PATH=$PATH:/redis文件目录/src
source /etc/profile 刷新环境变量文件
启动
redis/src/redis-server redis/redis.conf --daemonize yes //本机
停止
redis/src/redis-cli shutdown //本机
redis/src/redis-cli -h ip -p 端口 shutdown
redis的相关工具
shell
./redis-benchmark #用于进行redis性能测试的工具
./redis-check-dump #用于修复出问题的dump.rdb文件
./redis-cli #redis的客户端
./redis-server #redis的服务端
./redis-check-aof #用于修复出问题的AOF文件
./redis-sentinel #用于集群管理