CentOS-7.5编译安装Redis-4.0版本及概述特点企业应用场景

redis的概述:

  • redis持久化缓存服务还会周期性的把更新的数据写入到磁盘以及修改的操作记录追加到文件记录下来;

  • redis还支持master-slaver(主从)同步,类似于mysql的主从同步;

  • redis是开源的/使用C语言编写,可基于内存可持久化的日志性,并提供多种语言的API;

  • redis提供了python、ruby、erlang、php客户端;

redis的特点:

  • key-value键值类型存储;

  • 支持数据可靠存储及落地;

  • 单进程单线程高性能服务器;

  • crash safe & recovery slow;

  • 单机 qps 可以达到10W;

  • 适合小数据量告诉读写访问;

redis的优点:

1、持久化

2、数据类型丰富

3、redis的所有操作都是原子性的

4、时间的通知,key过期

5、支持主从复制

redis的缺陷:

1、系统运行有毛刺

2、不同命令延迟差别极大

3、内存管理开销大(设置redis不要使用内存的3/5)

4、buffer io造成系统OOM

rredis的数据类型:

1、string字符串

2、Hash哈希表

3、List列表

4、Set 集合

5、Sorted set 有序集合

redis企业级应用场景:

  • MySQL加memcached网站架构的问题:

1、扩大和维护工作占据大量开发时间;

2、一致性的问题;

3、memcached未命中或宕机,会导致大量的访问直接穿透到数据库;

4、跨机房cache同步及cache一致性问题;

redis最佳应用场景:

1、redis最佳试用场景是全部数据in-memory;

2、redis更多场景是memcached的替代品来试用;

3、数据比较重要,对数据一致性有一定的要求;

4、当需要除key-value之外更 多的数据类型支持时;

5、需要主从同步以及负载均衡分布式应用场景;

安装Redis:

系统:CentOS-7.5
软件:redis-4.0.10

IP地址:10.0.0.10

安装编译器:

yum -y install gcc

下载源码包:

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

解压:

tar zxf redis-4.0.10.tar.gz -C /usr/local/  && cd /usr/local/redis-4.0.10
ln -s /usr/local/redis-4.0.10 /usr/local/redis

编译:

make && echo $?     # 如果使用make报错请使用: make MALLOC=libc && echo $?

创建软连接:

ln -s /usr/local/redis/src/redis-server /usr/sbin/
ln -s /usr/local/redis/src/redis-cli /usr/sbin/

配置6379实例:

mkdir /usr/local/redis/6379

#加入以下redis参数
vim /usr/local/redis/6379/redis.conf

#后台运行
daemonize yes
#指定监听端口
port 6379
#日志文件存放路径
logfile /usr/local/redis/6379/redis.log
#redis进程pid文件存放路径
pidfile /usr/local/redis/6379/redis_6379.pid
#指定监听所有地址
bind 0.0.0.0
#指定认证密码为 123456
requirepass 123456
#持久化数据存放目录
dir /usr/local/redis/6379
#RBD持久化数据文件
dbfilename dump.rdb
#5分钟内有10个数据变化就save持久化
save 300 10
#打开AOF持久化功能
appendonly yes
#每秒执行一次持久化操作(写入日志)
appendfsync everysec

启动redis:

redis-server /usr/local/redis/6379/redis.conf

启动警告:https://docs.opstands.com/docs/redis/redis_start_waning

关闭redis:
redis-cli -a 123456 -h 10.0.0.10 -p 6379 shutdown

连接redis:

#'-a指定redis认证密码,-h指定redis地址,-p指定redis端口
redis-cli -a 123456 -h 10.0.0.10 -p 6379
10.0.0.10:6379>

Redis加入systemd管理:

要指定pid文件路径:(文档默认不加pid文件)
[root@order-test-system ~]# cat /usr/local/redis/6379/redis.conf 
daemonize yes
port 6379
logfile /usr/local/redis/6379/redis.log
pidfile /usr/local/redis/6379/redis_6379.pid
bind 0.0.0.0
requirepass 123456
dir /usr/local/redis/6379
dbfilename dump.rdb
vim /lib/systemd/system/redis.service

[Unit]
Description=Redis
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/redis/6379/redis_6379.pid
ExecStart=/usr/sbin/redis-server /usr/local/redis/6379/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

systemctl daemon-reload
「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论