Redis
下载地址
Windwos:https://github.com/microsoftarchive/redis/releases
Linux:https://redis.io/download
介绍
REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。
Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。
Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。
安装
Windows:
下载好的软件文件应该为:Redis-x64-3.2.100.msi。双击安装即可。一直下一步,中间会出现修改文件安装位置和端口号,内存最大值设置等等。我安装的位置在:
D:\Program Files\Redis
可以写一个启动脚本redis-server.bat:
@echo off
D:
cd D:\Program Files\Redis-x64-3.2.100
redis-server.exe redis.windows.conf
如果只是需要打开一个窗口,不关闭的话只需要删除第一行。
如果安装路径不是D:\Program Files\Redis-x64-3.2.100,修改第3行路径
Linux:
下载好的软件名称为:redis-4.0.11.tar.gz。
- 解压
tar zxvf redis-4.0.11.tar.gz
- 编译
cd redis-4.0.11/
make
cd src
make install PREFIX=/usr/local/redis
mkdir /usr/local/redis/etc
cd /software/redis-4.0.11/
cp redis.conf /usr/local/redis/etc/
- 配置
cd /usr/local/redis/etc/
vim redis.conf
修改结果如下:
daemonize yes //redis后台运行
- 启动
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
- 开机自启动
vim /etc/rc.local
添加一行
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
docker:
搜索redis镜像
docker search redis
拉取镜像
docker pull redis
启动redis镜像
创建挂卷位置
mkdir -p /data/redis/data
mkdir -p /data/redis/redis.conf
下载redis.conf配置文件 redis.conf
修改配置文件
bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问
protected-mode no #默认yes,开启保护模式,限制为本地访问
daemonize no#默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程,改为yes会使配置文件方式启动redis失败
databases 16 #数据库个数(可选),我修改了这个只是查看是否生效。。
dir ./ #输入本地redis数据库存放文件夹(可选)
appendonly yes #redis持久化(可选)
启动镜像
docker run --restart=always \
--log-opt max-size=100m \
--log-opt max-file=2 \
-p 6379:6379 \
--name redis \
-v /data/redis/redis.conf:/etc/redis/redis.conf \
-v /data/redis/data:/data \
-d redis redis-server /etc/redis/redis.conf \
--appendonly yes \
--requirepass 123456
docker run --restart=always \
--log-opt max-size=100m \
--log-opt max-file=2 \
-p 6379:6379 \
--name redis \
-d redis redis-server \
--appendonly yes \
--requirepass 123456
Redis4集群搭建
只对Linux环境下介绍。
假如有三台服务器,每台上面安装好如上面单节点安装所示。
先对/usr/local/redis/etc/redis.conf文件进行修改
cluster-enabled yes
protected-mode no
#bind 127.0.0.1 #该行注释
复制redis
cp -r /usr/local/redis /usr/local/redis2
修改redis2的redis.conf
port 6380
这样每台服务器上有两台redis服务器
添加一个启动脚本
vim /usr/local/redis/redis-all.sh
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
/usr/local/redis2/bin/redis-server /usr/local/redis2/etc/redis.conf
保存退出,执行
cd /usr/local/redis/
chmod +x redis-all.sh
在redis5.0后 创建集群统一使用redis-cli,之前的版本使用redis-trib.rb,但是需要安装ruby软件相对复杂,相比之前的版本5.0不需要安装额外的软件,方便。
命令为:
创建集群命令:其中 cluster-replicas 1 代表 一个master后有几个slave,1代表为1个slave节点
redis-cli --cluster create 127.0.0.1:6379 127.0.0.1:6380 --cluster-replicas 1 -a 12345678
没有设置 -a 12345678添加密码,集群会创建失败
我们这里使用的是redis4.0,所以需要安装ruby
yum install ruby
建议下载版本5.0以上的,因为这里下载的可能只有2.0.0版本,但是redis需要2.2.2版本以上;
下载ruby地址:
https://cache.ruby-china.com/pub/ruby/ruby-2.6.5.tar.gz
解压并编译安装
tar xf ruby-2.6.5.tar.gz
cd ruby-2.6.5
./configure --prefix=/usr/local/ruby
make && make install
创建快捷键
ln -s /usr/local/ruby/bin/ruby /usr/bin/ruby
./redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.2:6379 127.0.0.2:6380 127.0.0.3:6379 127.0.0.3:6380
如果需要密码的话,所有的配置需要修改:
masterauth passwd123
requirepass passwd123
并且修改redis-trib.rb文件
@r = Redis.new(:host => @info[:host], :port => @info[:port], :timeout => 60)
修改为:
@r = Redis.new(:host => @info[:host], :port => @info[:port], :timeout => 60, :password => "passwd123")
如果提示类似下面相关错误:
/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- redis (LoadError)
from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/bin/redis-trib.rb:25:in `<main>'
解决方案:
https://rubygems.org/downloads/redis-4.0.1.gem
yum install ruby
# 因为yum安装ruby最高版本为2.0.0,所以还要重新安装一下ruby
cd ruby-2.6.5
./configure --prefix=/usr/local/ruby
make && make install
# 覆盖yum安装的默认版本
rm -f /usr/bin/ruby
ln -s /usr/local/ruby/bin/ruby /usr/bin/ruby
gem install redis-4.0.1.gem
Redis6集群搭建
使用说明
可以使用 Redis Desktop Manager进行链接查看。
相关资源
Redis 官网:https://redis.io/
源码地址:https://github.com/redis/redis
Redis 在线测试:http://try.redis.io/
Redis 命令参考:http://doc.redisfans.com/