一、Redis概述
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value(键值型)数据库(非关系型数据库),并提供多种语言的API。
Redis是一个高性能的Key-Value数据库。它的出现很大程度补偿来Memcached这类Key-Value型存储的不足,在部分场合下可以对关系型数据库起到很好的补充作用。它提供来Java、C/C++、PHP、JavaScript、Perl、Object-C、Python、Ruby、Erlang等客户端,使用方便。
Redis支持主从同步,Redis能够借助于Sentinel(哨兵,Redis自带的)工具来监控主从节点,当主节点发生故障时,会自己提升另外一个从节点成为新的主节点。
1)支持的数据类型
和Memcached类似,但它支持存储的Value类型相对更多,包括String(字符串)、List(列表)、Sets(集合)、Sorted Sets(有序集合)和Hash(哈希类型、关联数组)、Bitmaps(位图)和HyperLoglog。
2)性能
100万较小的键存储字符串,大概消耗100M内存;
由于Redis是单线程,如果服务器主机上有多个CPU,只有一个能够使用,但并不意味着CPU会成为瓶颈,因为Redis是一个比较简单的K-V数据存储,CPU通常不会成为瓶颈的;
在常见的linux服务器上,500K(50万)的并发,只需要一秒钟处理,如果主机硬件较好的情况下,每秒钟可以达到上百万的并发.
3)Redis与Memcache对比
Memcache只能使用内存来缓存对象。而Redis除了可以使用内存来缓存对像,还可以周期性的将数据保存到磁盘上,对数据进行永久存储。当服务器突然断电或死机后, redis基于磁盘中的数据进行恢复;
Redis是单线程服务器,只有一个线程来响应所有的请求。Memcache是多线程的;
Redis支持更多的数据类型。
二、安装
yum安装redis时,建议使用Remi repository源。因为Remi源提供了目前最新版本的Redis,可以通该源使用YUM安装目前最新版本的Redis。另外还提供了PHP和MySQL的最新yum源,以及相关服务程序。
1)Remi repository源依赖于epel源,因此需要先安装epel源
yum -y install epel-release
2)安装Remi repository源
yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
ls /etc/yum.repos.d/
3)使用指定的yum源安装Redis
#yum --enablerepo=remi install -y redis //–enablerepo指定yum源
redis-cli --version //安装完成后使用命令查看一下版本
三、配置多实例
创建目录:
mkdir /etc/redis/ -p //实例配置文件目录
mkdir -p /var/lib/redis/{6379…6383} //创建redis 数据目录
2.复制默认的配置文件以创建新的配置
#cp /etc/redis.conf /etc/redis/redis_6379.conf
#cp /etc/redis.conf /etc/redis/redis_6380.conf
cp /etc/redis.conf /etc/redis/redis_6381.conf
cp /etc/redis.conf /etc/redis/redis_6382.conf
cp /etc/redis.conf /etc/redis/redis_6383.conf
2.打开新的配置文件进行编辑(对应修改)
vim /etc/redis/redis_6379.conf
#修改以下几处:
port 6379
pidfile /var/run/redis_6379.pid
logfile /var/log/redis/redis_6379.log
dbfilename dump_6379.rdb
dir /var/lib/redis
3.配置服务方式启动
复制默认的服务配置文件以创建新的服务配置
#cp /usr/lib/systemd/system/redis.service /usr/lib/systemd/system/redis_6379.service
打开新的服务配置文件进行修改
#vim /usr/lib/systemd/system/redis_6379.service
修改后的内容如下:
[Unit]
Description=redis_6379, port 6379
After=redis.service
[Service]
ExecStart=/usr/bin/redis-server /etc/redis/redis_6379.conf --supervised systemd
ExecStop=/usr/bin/redis-cli -p 6379 shutdown
Type=notify
Uset=redis
Group=redis
RuntimeDirectory=redis_6379
RuntimeDirectoryMode=0755
[Install]
WantedBy=multi-user.target
#追加生成多份,并修改对应端口。
#cd /usr/lib/systemd/system/ #切换到此目录下
#cat redis_6379.service >redis_6380.service
cat redis_6379.service >redis_6381.service
#cat redis_6379.service >redis_6382.service
cat redis_6379.service >redis_6383.service
更新服务组件:
systemctl daemon-reload
启动redis多个实例,并设置开机自启动:
(1)设置多个实例开机启动
systemctl enable redis_6379.service
systemctl enable redis_6380.service
systemctl enable redis_6381.service
systemctl enable redis_6382.service
systemctl enable redis_6383.service
(2)启动多个实例
#systemctl start redis_6379.service
systemctl start redis_6380.service
systemctl start redis_6381.service
systemctl start redis_6382.service
(3)查看是否启动成功
转载来源 https://www.keysou.com/?id=545
yum安装也可以 service nginx_6380 start 启动