Redis的介绍及搭建

一.Redis介绍

1.Redis重要特性

1. 速度快
   c语⾔编写的
   代码优雅简洁
   单线程架构
2. ⽀持多种数据结构
   字符串,哈希,列表,集合,有序集合
3. 丰富的功能
   天然计数器
   键过期功能
   消息队列
4. ⽀持客户端语⾔多
   php,java,go,python
5. ⽀持数据持久化
   所有在运⾏的数据都是放在内存⾥的
   ⽀持多种数据久化格式,RDB,AOF,混合持久化
6. ⾃带多种⾼可⽤架构
   主从,哨兵,集群

2.企业缓存产品介绍

1) Memcached:

优点:高性能读写、单一数据类型、支持客户端式分布式集群、一致性hash。多核结构、多线程读写性能高。
缺点:无持久化、节点故障可能出现缓存穿透、分布式需要客户端实现、跨机房数据同步困难、架构扩容复杂度高

2) Redis

优点:高性能读写、多数据类型支持、数据持久化、高可用架构、支持自定义虚拟内存、支持分布式分片集群、单线程读写性能极高
缺点:多线程读写较Memcached慢,所以更加适合单机多实例的环境
新浪微博、京东、直播类平台、游戏

结论:memcache与redis在读写性能的对比

memcached 适合,多用户访问,每个用户少量的rw
redis     适合,少用户访问,每个用户大量rw , 推荐多实例的环境

3)Tair:

优点:高性能读写、支持三种存储引擎(ddb、rdb、ldb)、支持高可用、支持分布式分片集群、支撑了几乎所有淘宝业务的缓存。
缺点:单机情况下,读写性能较其他两种产品较慢

3.Redis使用场景

1. 缓存---键过期
   把session数据缓存在redis⾥,过期删除
   缓存⽤户信息,缓存mysql部分数据,⽤户先访问redis,若redis没命中,再访问mysql,然后回写给redis
   商城优惠卷过期、短信验证码过期
2. 排⾏榜---列表&有序集合
   热度/点击量、直播间礼物打赏排⾏榜
3. 计数器---天然计数器
   帖⼦浏览数、视频播放次数、评论次数、点赞/点踩
4. 社交⽹络---集合
   粉丝、共同好友/可能认识的⼈、兴趣爱好/标签
5. 消息队列
   ELK缓存⽇志、聊天记录

Memcached:多核的缓存服务,更加适合于多用户并发访问次数较少的应用场景
Redis:单核的缓存服务,单节点情况下,更加适合于少量用户,多次访问的应用场景。
Redis一般是单机多实例架构,配合redis集群出现。

二. Redis安装部署

1.Redis官网

https://redis.io/download

2.版本选择

2.x 非常老
3.x 主流 redis-cluster
4.x 混合持久化
5.x 最新稳定版 新增加了流处理类型

3.规划目录

/data/soft   					   下载目录
/opt/redis_6379/{conf,logs,pid}	   安装目录,日志目录,pid目录,配置目录
/data/redis_6379/   			   数据目录

4.安装命令

1)创建下载目录,并下载包
mkdir /data/soft -p
cd /data/soft/
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
2)解压创建软连接
tar zxf redis-5.0.7.tar.gz -C /opt/
cd /opt
ln -s /opt/redis-5.0.7 /opt/redis
3)安装
cd /opt/redis 
make
make install 

注:make和make install的区别

make是用来编译,它从Makefile中读取指令,然后编译。
make install是用来安装,它也从Makefile中读取指令,安装到指定的位置。

5.编写配置文件

1. 创建需要的目录
mkdir -p /opt/redis_6379/{conf,logs,pid} 
mkdir -p /data/redis_6379
2. 编写配置文件
cat >/opt/redis_6379/conf/redis_6379.conf<<EOF
daemonize yes 
bind 127.0.0.1 10.0.0.51
port 6379
pidfile /opt/redis_6379/pid/redis_6379.pid
logfile /opt/redis_6379/logs/redis_6379.log
EOF

redis.conf配置文件说明:*

daemonize yes 是否后台运行
port 6379     默认端口
pidfile /opt/redis_6379/pid/redis_6379.pid   pid文件位置
logfile /opt/redis_6379/logs/redis_6379.log  日志文件位置

6.启动命令

redis-server /opt/redis_6379/conf/redis_6379.conf

7.检查

ps -ef|grep redis
netstat -lntup|grep 6379

8.连接Redis

[root@db01 ~]# redis-cli 
127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> get k1
"v1"
127.0.0.1:6379>

9.关闭命令

1)# redis-cli 
   > SHUTDOWN
2)# redis-cli shutdown
3)# kill
   # pkill

10.system启动配置

1. 创建redis用户
groupadd redis -g 1000
useradd redis -u 1000 -g 1000 -M -s /sbin/nologin
2. 授权
chown -R redis:redis /opt/redis*
chown -R redis:redis /data/redis*
3. 编写systemd的配置文件
cat >/usr/lib/systemd/system/redis.service<<EOF
[Unit]
Description=Redis persistent key-value database
After=network.target
After=network-online.target
Wants=network-online.target

[Service]
ExecStart=/usr/local/bin/redis-server /opt/redis_6379/conf/redis_6379.conf --supervised systemd
ExecStop=/usr/local/bin/redis-cli shutdown
Type=notify
User=redis
Group=redis
RuntimeDirectory=redis
RuntimeDirectoryMode=0755

[Install]
WantedBy=multi-user.target
EOF
4. 加载启动
systemctl daemon-reload 
systemctl start redis
5. 测试
# redis-cli 
127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> get k1
"v1"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值