企业级——Redis缓存

116 篇文章 0 订阅
114 篇文章 0 订阅

企业级——Redis缓存

1.简介

Redis是一个远程内存数据库,它不仅性能强劲,而且还具有复制特性以及为解决问题而生的独一无二的数据模型。Redis提供了5种不同类型的数据结构,各式各样的问题都可以很自然地映射到这些数据结构上:Redis的数据结构致力于帮助用户解决问题,而不会像其他数据库那样,要求用户扭曲问题来适应数据库。除此之外,通过复制、持久化(persistence)和客户端分片(client-side sharding)等特性,用户可以很方便地将Redis扩展成一个能够包含数百GB数据、每秒处理上百万次请求的系统。Redis是一个速度非常快的非关系数据库(non-relational database),它可以存储键(key)与5种不同类型的值(value)之间的映射(mapping),可以将存储在内存的键值对数据持久化到硬盘,可以使用复制特性来扩展读性能,还可以使用客户端分片1来扩展写性能。

Redis 特点

与其它 Key-Value 缓存产品相比,Redis 有以下特点:

  • Redis 支持数据的持久化(包括 AOF 和 RDB 两种模式),可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用,性能与可靠性兼顾;
  • Redis 不是仅仅支持简单的 Key-Value类型的数据,还支持字符串、列表、集合、散列表、有序集合数据结构的存储,这一优势使 Redis 适用于更广泛的应用场景;
  • Redis 支持数据的备份,即 Master-Slave 模式,Master 故障时,对应的 Slave 将通过选举升主,保障可用性;
  • Redis 主进程是单线程工作,因此,Redis 的所有操作都是原子性的,即操作要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性;
  • Redis 性能优越,读的速度达110000次/s,写的速度达81000次/s。

除了上述特点,Redis 还支持 Publish/Subscribe,通知,Key 老化逐出等特性。

2.环境搭建

(1)服务器
server1为master
server2为slave
server3为slave
(2)编译安装redis
tar zxf redis-5.0.3.tar.gz
yum install -y gcc
cd /root/redis-5.0.3
make
make install
cd /root/redis-5.0.3/utils
./install_server.sh		##安装redis,安装完会自动启动,全部回车
查看:
netstat -tnlp	##可以看到redis默认是开启127.0.0.1的6379端口,这样只能本地访问,需要配置所有接口都能访问
(3)修改端口
vim /etc/redis/6379.conf	##修改端口
70 bind 0.0.0.0
(4)重启服务
 /etc/init.d/redis_6379 restart	##重启服务,(systemctl restart redis_6379不生效,可以开启服务)
(5)把redis拷贝到server2上
scp -r redis-5.0.3 root@172.25.0.2:/root/
在server2:
(1)安装
cd /root/redis-5.0.3/
make install
cd utils/
./install_server.sh		#全部回车
(2)修改端口
vim /etc/redis/6379.conf	##修改端口
70 bind 0.0.0.0
(3)重启服务
 /etc/init.d/redis_6379 restart	##重启服务
(4)配置从
vim /etc/redis/6379.conf
slaveof 172.25.66.1 6379		##文件最后加
/etc/init.d/redis_6379 restart		#重启服务

3.测试

在server1上:
redis-cli 
127.0.0.1:6379> set name lqh
OK
127.0.0.1:6379> get name
"lqh"
在server2上:
redis-cli 
127.0.0.1:6379> get name
"lqh"
在server1上存入的值,在server2上可以看到,但是在server2上不能写入:
redis-cli 
127.0.0.1:6379> get name
"lqh"
127.0.0.1:6379> set name westos
(error) READONLY You can't write against a read only replica.
redis的数据保存在/var/lib/redis/6379/dump.rdb,如果有问题,redis起不来,可以删除这文件再试。

4.修改配置文件

在server2上:
vim /etc/redis/6379.conf
219 save 900 1		##这几行表示,有一个键值发生变化时,会过900s更新,下面依次类推,因为不停更新会耗费资源
220 save 300 10
221 save 60 10000
分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改
先看60秒,如果有10000个更改,那就save了吧。
如果没有,那么等到300秒,看是否有10个更改,有就save了吧。
同理900秒。。。

5.配置redis高可用

在server1:
cp sentinel.conf /etc/redis/		#复制配置文件,sentinel哨兵
再开一台server3,配置redis(同server2):
在server1:
scp -r redis-5.0.3 root@172.25.66.3:
在server3:
cd /root/redis-5.0.3/
make install
cd utils
./install_server.sh				#安装服务
vim /etc/redis/6379.conf		#编辑配置文件
70 bind 0.0.0.0
89 protected-mode no
1379 slaveof 172.25.66.1 6379	##写在最后一行
/etc/init.d/redis_6379 restart				#重启服务
测试:
redis-cli 
127.0.0.1:6379> get name
"lqh"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值