Redis安装介绍

第1章 实验环境准备

1.1 操作系统说明

操作系统: Centos7
数量:3台机器 
主机名:db01 db02 db03 
IP地址:51,52,53

1.2 关闭防火墙和selinux

停止防火墙并禁止自启动

systemctl stop firewalld.service
systemctl disable firewalld.service

关闭selinux

sed -i.bak 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config

setenforce 0

1.3 db01配置hosts和ssh

配置hosts和密钥认证

[root@db01 ~]# cat > /etc/hosts << EOF

10.0.0.51 db01   

10.0.0.52 db02   

10.0.0.53 db03

EOF

[root@db01 ~]# ssh-keygen

[root@db01 ~]# ssh-copy-id db02

[root@db01 ~]# ssh-copy-id db03

1.4 所有节点安装redis

注意:所有的节点都需要安装redis

mkdir -p /data/soft

mkdir -p /data/redis_cluster/redis_6379

mkdir -p /opt/redis_cluster/redis_6379/{conf,pid,logs}

cd /data/soft/

wget http://download.redis.io/releases/redis-3.2.9.tar.gz

tar zxf redis-3.2.9.tar.gz -C /opt/redis_cluster/

ln -s /opt/redis_cluster/redis-3.2.9/ /opt/redis_cluster/redis

cd /opt/redis_cluster/redis

make && make install

1.5 db01配置ruby环境

yum makecache fast

yum install rubygems

gem sources --remove [https://rubygems.org/](https://rubygems.org/)

gem sources -a http://mirrors.aliyun.com/rubygems/

gem update –system

gem install redis -v 3.3.5

ruby -v

gem -v

1.6 db01安装键值分析工具

yum install python-pip gcc

pip install --upgrade pip

pip install rdbtools

1.7 配置文件

配置文件:
cat > /opt/redis_cluster/redis_6379/conf/redis_6379.conf <

1.8 所有节点部署redis管理脚本

[root@db01 ~]# cat redis_shell.sh

#!/bin/bash

USAG(){

 echo "sh $0 {start|stop|restart|login|ps|tail} PORT"

}

if [ "$#" = 1 ]

then

 REDIS_PORT='6379'

elif

 [ "$#" = 2 -a -z "$(echo "$2"|sed 's#[0-9]##g')" ]

then

 REDIS_PORT="$2"

else

 USAG

 exit 0

fi

REDIS_IP=$(hostname -I|awk '{print $1}')

PATH_DIR=/opt/redis_cluster/redis_${REDIS_PORT}/

PATH_CONF=/opt/redis_cluster/redis_${REDIS_PORT}/conf/redis_${REDIS_PORT}.conf

PATH_LOG=/opt/redis_cluster/redis_${REDIS_PORT}/logs/redis_${REDIS_PORT}.log

CMD_START(){

 redis-server ${PATH_CONF}

}

CMD_SHUTDOWN(){

 redis-cli -c -h ${REDIS_IP} -p ${REDIS_PORT} shutdown

}

CMD_LOGIN(){

 redis-cli -c -h ${REDIS_IP} -p ${REDIS_PORT}

}

CMD_PS(){

 ps -ef|grep redis

}

CMD_TAIL(){

 tail -f ${PATH_LOG}

}

case $1 in

 start)

 CMD_START

 CMD_PS

 ;;

 stop)

 CMD_SHUTDOWN

 CMD_PS

 ;;

 restart)

 CMD_START

 CMD_SHUTDOWN

 CMD_PS

 ;;

 login)

 CMD_LOGIN

 ;;

 ps)

 CMD_PS

 ;;

 tail)

 CMD_TAIL

 ;;

 *)

 USAG

esac

特点:

1.支持6种数据类型,字符串,哈希,列表,集合,有序集合
2.速度非常快,所有数据存放在内存中
3.持久化存储,快照或日志

安装完成后的可执行文件

redis-benchmark  
redis-check-aof  
redis-check-rdb  
redis-cli           #客户端连接工具
redis-sentinel      #哨兵服务端
redis-server        #服务端

数据类型及相关命令介绍

字符串 优惠券 文本

set 
get
mset
mget
incr key
decr key
incrby  key num
decrby  key num 
EXISTS key
DEl key
TTL k1 
EXPIRE k1 10
PERSIST k1 
-1  永不过期    
-2  键不存在

列表 排行榜

rpush
lpush
lrange
rpop
lpop

哈希 mysql的缓存层

HMSET   key  field value  
HMGET   key  field 
HGETALL key
HMSET user:1000 username zhangya age 28 job it
HMGET user:1000 
HMGET user:1000 username
HMGET user:1000 username age
HMGET user:1000 username age job
HMGET user:1000 all
HGETALL user:1000
HMSET user:1000 email [email protected]
HGETALL user:1000

集合 推荐系统 兴趣标签 广告精确投放

SADD set1 1 2 3 5 7 
SMEMBERS set1
SADD set2  3 6 8 5 7 
SMEMBERS set2
SADD set1 1 
SADD set1 1 11
SMEMBERS set1
SMEMBERS set2
SDIFF set1 set2
SDIFF set2 set1
SADD set3 1 5 12 9
SDIFF set1 set2 set3
SDIFF set3 set1 set2
SINTER set1 set2
sunion set1 set2 set3

持久化

rdb 
优点:恢复速度快,空间小
缺点:可能会丢失

rdb 持久化核心配置参数: 
vim /data/6379/redis.conf 
dir /data/6379 
dbfilename dump.rdb 
save 900 1            #900 秒(15 分钟)内有 1 个更改 
save 300 10          #300 秒(5 分钟)内有 10 个更改 
save 60 10000      #60 秒内有 10000 个更改 

aof 
优点:数据安全,不容易丢失
缺点:恢复速度慢,空间大

AOF 持久化配置 
appendonly yes           #是否打开 aof 日志功能 
appendfsync always    #每 1 个命令,都立即同步到 aof 
appendfsync everysec #每秒写 1 次 
appendfsync no            #写入工作交给操作系统,由操作系统判断缓冲区大小,统一写入到 aof. 

redis 持久化方式有哪些?有什么区别? 
rdb:基于快照的持久化,速度更快,一般用作备份,主从复制也是依赖于 rdb 持久化功能 
aof:以追加的方式记录 redis 操作日志的文件。可以最大程度的保证 redis 数据安全,类似于 mysql 的 binlog 

热更新

命令:CONFIG GET *

127.0.0.1:6379> CONFIG GET save
1) "save"
2) ""
127.0.0.1:6379> CONFIG SET save "60 100 300 10 600 1"
OK
127.0.0.1:6379> CONFIG GET save
1) "save"
2) "60 100 300 10 600 1"

隐藏条件:
1.如果同时有AOF和RDB存在,重启的时候,载入的是AOF文件
2.shutdown 
  - bgsave
  - shutdown

你可能感兴趣的:(Redis安装介绍)